我讀了hornetQ文檔,困惑了很多。有人可以給出一個確切的例子來在hornetQ中創建一個JMS主題。我的意思是hornetq-jms.xml
和hornetq-configuration.xml
中的xml配置。假設我們有一個名爲top
的主題和2個訂戶:sub1
,sub2
。我得到的是我們應該定義兩個隊列(每個用戶一個隊列)並將它們綁定到實際上是主題名稱的地址,但是用戶如何知道他們應該連接到哪個隊列?(他們只知道主題名稱)JMS主題在HornetQ中的確切示例
回答
我認爲HornetQ處理內部問題的方式與JMS規範描述主題的方式形成了鮮明對比,令您感到困惑。
讓我們從JMS規範開始。在這裏,您有一個主題,其中n個訂閱者可以收聽消息,這些消息將由客戶端發佈。在JMS中,我們只談論單數的目的地,例如。我們將分別發送消息主題或隊列。
HornetQ是一個JMS提供者 - 一個實現了JMS規範的服務器,所以Java客戶端可以連接它並使用JMS-API。 JMS提供程序可能會更改,但是在使用其他JMS提供程序時,該代碼仍然可以工作。
但是,HornetQ並沒有在內部區分目的地(主題或隊列),因爲它試圖成爲通用消息中間件。在HornetQ中,所有主題或隊列都以「地址」和「隊列」的形式實現。當你使用HornetQ API(CoreAPI)而不是JMS-API時,你必須處理這些事情。您應該閱讀HornetQ documentation中的地址部分:
在覈心中,沒有主題的概念,主題是僅用於JMS的術語。相反,在覈心,我們只處理地址和隊列。
例如,JMS主題將由單個地址實現到 ,許多隊列被綁定。每個隊列代表訂閱 的主題。 JMS隊列將作爲單個地址實現到 哪一個隊列被綁定 - 該隊列表示JMS隊列。
有關如何通過HornetQ使用JMS主題的示例,我強烈建議使用HornetQ自帶的示例。在加載並提取hornetq存檔後,只需轉至examples/jms/topic
目錄並查看readme.html以簡要了解如何實施以及如何執行示例(mvn verify
)。
+1 ... Majid Azimi令JMS Concepts與核心概念混淆不清。他所要做的就是將其添加到hornetq-jms.xml中 –
- 1. HornetQ JMS主題到主題橋
- 2. JMS和HornetQ
- 3. Jboss EAP 6.3 - 收聽遠程JMS主題(HornetQ)
- 4. HornetQ的主題主題彌合
- 5. 沒有JMS和JNDI的HornetQ
- 6. 如何以編程方式在HornetQ中創建JMS主題和隊列?
- 7. Spring JMS與JBoss 7.11(HornetQ)
- 8. 配置JMS轉移JBoss7(HornetQ)
- 9. JMS隊列和JMS主題
- 10. Wildfly JMS主題
- 11. 如何從javascript訂閱JMS主題 - 需要完整示例
- 12. JMS-的HornetQ的JBoss AS6配置
- 13. JMS:當從主題
- 14. 帶jms的消息計數器Hornetq
- 15. HornetQ失去了它的所有主題
- 16. 使用Active MQ的示例JMS示例
- 17. JEE 6 JMS示例
- 18. Log4j JMS appender示例
- 19. 在spring jms主題中指定名稱
- 20. 確定JMS中每個主題的訂戶數
- 21. 在Spring中創建臨時JMS jms主題
- 22. 通過JMS的Esper示例
- 23. 使用HornetQ運行JMS橋接器
- 24. Mule ESB HornetQ JMS消息未發佈
- 25. JMS連接/ ConnectionFactory引用與HornetQ
- 26. JMS主題vs Apache Camel中的組播
- 27. 訂閱JMS中的多個主題
- 28. 在javascript中切換主題
- 29. 用Jms發送對象 - HornetQ(性能問題)
- 30. Java WeakReferences =理解問題(使用HornetQ JMS實現)?
你應該接受答案。有人免費給你做了一些工作,你至少可以給他提供他給你的答案的要點。 –