java - Activemq中如何在不创建队列的情况下获取消息

标签 java jms activemq messaging

我是 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);
     }

如果我们已经知道队列名称,则无需创建。我在下面的代码中提及。

 Destination destination = (Destination) session.createQueue("StaticQueueName");

如果我们之前知道队列名称,是否有任何方法可用。因此使用该队列名称,我们可以像 getqueue("queue name") 一样访问消息,而不是创建队列。

最佳答案

如果这样的队列已经存在,那么将不会创建其他队列,同样会给你。它不会被“覆盖”。

关于java - Activemq中如何在不创建队列的情况下获取消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19707781/

相关文章:

java - 通过队列发送大文件时 Activemq 内存不足

ssl - 将 activemq 客户端配置为仅使用 ssl 进行加密

java - 为使用 JAX-WS 的初始 WSDL 检索指定超时?

java - 如何在 Java Spring 中模拟 RestTemplate?

java - Android/Java 问题。这两个决策树有何不同?

java - 在 TLS1.2 上创建 ActiveMQ 连接

activemq - 使用 zookeeper 在 activemq cms MessageProducer.send 中等待五秒钟

java - 如何从网页中提取句子

java - 使用选择器的 Spring 集成 JMS 消息驱动 channel 适配器

jboss - 如何在 JBoss 5 中订购 EJB 和 JMS 队列配置的部署?