【问题标题】:Not Receiving Pending Message in JMS在 JMS 中未收到待处理消息
【发布时间】:2017-09-07 15:42:46
【问题描述】:

我正在使用 ActiveMQ 和 JMS

我在队列中创建了一个 ObjectMessage。我无法收到它。

查看队列中已有的消息。

我的接收信息代码是

public class RecieveObjectQueue {

    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");


        try {
            ConnectionFactory connFactory=(ConnectionFactory) ctx.getBean("connectionFactory");

            Connection connection=connFactory.createConnection();
            connection.start();

        Session session=connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        Queue queue = new ActiveMQQueue(SendObjectQueue.OBJECT_QUEUE);

        MessageConsumer messageConsumer=session.createConsumer(queue);
        //          messageConsumer.receive();

        messageConsumer.setMessageListener(new MessageListener() {

            @Override
            public void onMessage(Message message) {
                ActiveMQObjectMessage activeMsg=(ActiveMQObjectMessage) message;
                /*if(message instanceof Car){
                    Car car=(Car) message;
                    System.out.println("Recieved Car=>"+car);
                }else{
                    System.out.println("Message is not a car object!!!");
                }*/

            }
        });
        } catch (JMSException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

如果需要更清晰的代码或代码,请提出。

【问题讨论】:

    标签: java jms activemq spring-jms


    【解决方案1】:

    您正在使用此代码消费(并丢弃)消息...

    messageConsumer.receive();
    

    【讨论】:

    • 即使没有收到,我也没有收到任何消息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 2014-02-26
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    相关资源
    最近更新 更多