簡體   English   中英

使用Java SE在JMS中獲取主題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM