我应该将消息发送到名为" IngestGenericJSONQueue"的ActiveMQ队列。在地址10.7.1.10的端口61616.我可以创建一个ActiveMQConnectionFactory对象,但是如何查找现有队列?到目前为止,我只设法找到session.createQueue()函数,但我不确定这是用于创建与现有队列的连接,还是仅用于创建一个全新的队列。如何按名称连接到现有的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");
答案 0 :(得分:2)
ActiveMQ按需创建队列和主题,因此如果在创建生成器时没有该名称的现有队列,则会创建新的队列。如果队列已经存在,那么生产者将发送到该队列。
您可以使用JMX或Web控制台等管理工具来探索正在运行的Broker,以查看已存在的队列。