ActiveMQ 连接到 address/port 处的现有队列
ActiveMQ connect to existing queue at an address/port
我应该将消息发送到名为 "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");
ActiveMQ 按需创建队列和主题,因此如果在创建生产者时不存在同名队列,则会创建一个新队列。如果队列已经存在,那么生产者将发送到该队列。
您可以使用 JMX 或 Web 控制台等管理工具来探索 运行 Broker 以查看已经存在的队列。
我应该将消息发送到名为 "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");
ActiveMQ 按需创建队列和主题,因此如果在创建生产者时不存在同名队列,则会创建一个新队列。如果队列已经存在,那么生产者将发送到该队列。
您可以使用 JMX 或 Web 控制台等管理工具来探索 运行 Broker 以查看已经存在的队列。