【问题标题】:How to create an ActiveMQ Consumer without spring?如何在没有 spring 的情况下创建 ActiveMQ Consumer?
【发布时间】:2016-01-12 22:27:18
【问题描述】:

我已经创建了一个必须使用 activemq 主题的应用程序,但是在这个项目中我们不需要使用 spring xml。我只创建了一个名为 ActiveMQConsumer 的类,它实现了 MessageListener 并覆盖了 onMessage 方法,但没有任何反应……这种方法可以吗?还是缺少什​​么?我目前正在通过 tcp 连接。

public class ActiveMQConsumer implements MessageListener {

public ActiveMQConsumer() throws JMSException {
    try {
        ConnectionFactory factory = new ActiveMQConnectionFactory(CATALOG_BROKER_URL.getValue());
        Connection connection = factory.createConnection();
        connection.start();
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        Destination destination = session.createTopic(CATALOG_TOPIC_NAME.getValue());
        MessageConsumer consumer = session.createConsumer(destination);
        consumer.setMessageListener(this);
    } catch (JMSException e) {
        System.out.println("Error");
    }
}

@Override
public void onMessage(final Message message) {
    LOGGER.info("Start consuming message from Catalog");
    try {
        if (message instanceof TextMessage) {
            TextMessage txtMessage = (TextMessage) message;
            System.out.println("Message: " + txtMessage.getText());
        } else {
            System.out.println("Invalid Message !");
        }
    } catch (JMSException e) {
        System.out.println("Exception" + e);
    }
}

}

【问题讨论】:

  • 这个类是如何使用的?你在某处做new ActiveMQConsumer() 吗?它是用@Component 注释的,所以春天会这样做吗?仅仅编写一个类并不意味着它在运行时使用。可能相关:spring.io/guides/gs/messaging-jms
  • @zapl 我不想用spring,我看到一些不需要它的例子......我该怎么做?
  • 啊,好的。不需要弹簧。您的代码是否正常运行并且您是否已验证它是否建立了连接?有什么发布消息的吗?
  • 运行您的程序后,如果在您的 activeMQ UI 中,您能够看到针对该主题的“没有消费者”为 1,那么您可以确定您的消费者正在正常运行并且有一些不同问题,但是如果消费者没有在那里注册,你需要看看你的消费者是如何执行的

标签: java jms activemq


【解决方案1】:

我使用 ContextListener 调用可运行类解决了我的问题。只需将其放入 web.xml 并完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 2019-08-03
    相关资源
    最近更新 更多