我是activemq的新手。我创建了一个队列并从一个客户端向该队列生成一条消息。我想从另一个客户端使用该消息。为了消费消息,代码如下
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
// Create a Connection
Connection connection = connectionFactory.createConnection();
connection.start();
// Create a Session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Create the destination (Topic or Queue)
Destination destination = (Destination) session.createQueue("StaticQueueName");
MessageConsumer consumer= session.createConsumer(destination);
Message message = (Message) consumer.receive();
System.out.println(message.getStringProperty("status"));
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
Text = textMessage.getText();
System.out.println("Received: " + Text);
} else {
System.out.println("Received: " + message);
}
如果我们已经知道队列名称,则无需 create.i 提及下面的代码。
Destination destination = (Destination) session.createQueue("StaticQueueName");
如果我们之前知道队列名称,是否有任何可用的方法。所以使用该队列名称,我们可以访问 getqueue("queue name") 之类的消息,而不是创建队列。