[英]Get a Topic in JMS using Java SE
我正在使用Java SE。 我在應用程序首次啟動時會創建一個主題,如下所示:
connectionFactory = new ActiveMQConnectionFactory("vm://localhost");
conn = connectionFactory.createTopicConnection();
session = conn.createTopicSession(false,
TopicSession.AUTO_ACKNOWLEDGE);
conn.start();
session.createTopic(name);
我對如何在課堂上檢索該Topic
感到困惑。 比如說我有一個類,它使用上面的方法連接到JMS服務,就像上面一樣:
connectionFactory = new ActiveMQConnectionFactory("vm://localhost");
conn = connectionFactory.createTopicConnection();
session = conn.createTopicSession(false,
TopicSession.AUTO_ACKNOWLEDGE);
conn.start();
然后,如何獲得對我創建應用啟動以發送消息的Topic
的引用?
我會想像一下:
session.getTopic(name);
會存在,但我找不到任何東西。
我已經閱讀了如何使用Java EE和JNDI查找來執行此操作,但是由於我不在容器中運行,因此該服務不可用。
您不會“檢索”主題。 Topic實例只是一條信息。 如果要訂閱主題(或隊列),則可以在客戶端中構造它的實例,如ActiveMQ hello world示例中所示:
http://activemq.apache.org/hello-world.html
例如:
// the name should of course be the same as it exists on the producer side
Destination destination = session.createTopic("TEST.FOO");
// Create a MessageConsumer from the Session to the Topic or Queue
MessageConsumer consumer = session.createConsumer(destination);
所有這些都由標准化且非常成熟的JMS API支配,因此您應該參考JEE文檔。 任何有關JMS的書也將為您服務。
進一步閱讀: https : //docs.oracle.com/javaee/6/tutorial/doc/bncdr.html API文檔: http : //docs.oracle.com/javaee/6/api/javax/jms/package-summary html的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.