2015-07-09 60 views
0

我應該發送消息到地址爲10.7.1.10的端口61616處的名爲「IngestGenericJSONQueue」的ActiveMQ隊列中。我可以創建一個ActiveMQConnectionFactory對象,但是我怎麼看建立一個現有的隊列?到目前爲止,我只能設法找到session.createQueue()函數,但我不確定這是用來創建到現有隊列的連接,還是僅用於創建全新的隊列。我如何通過名稱連接到現有的activemq隊列?ActiveMQ連接到地址/端口上的現有隊列

ConnectionFactory cFactory = new ActiveMQConnectionFactory("tcp://10.7.1.10:61616"); 
Connection connection = cFactory.createConnection(); 
connection.start(); 
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 

Destination queue = session.createQueue("IngestGenericJSONQueue"); 

System.out.println("queue connected"); 

MessageProducer producer = session.createProducer(queue); 
TextMessage m = session.createTextMessage(); 
m.setText(jsonStix.toString()); 

producer.send(m); 

System.out.println("done"); 

回答

1

ActiveMQ的創建隊列和需求的主題,因此,如果有該名稱的任何現有隊列當您創建生產者,然後一個新的隊列被創建。如果隊列已經存在,那麼生產者將發送到該隊列。

您可以使用管理工具(如JMX或Web控制檯)來瀏覽正在運行的代理以查看已存在的隊列。