2017-09-06 3 views
0

Je travaille avec ActiveMQ et JMSJe ne reçois pas de message en attente dans JMS

J'ai créé un objet ObjectMessage dans la file d'attente. Je ne suis pas capable de le recevoir.

Jetez un coup d'œil au message déjà disponible sur la file d'attente.
Object Queue

Mon code pour recevoir un message est

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(); 
     } 
    } 

} 

Si plus de clarté ou un code est nécessaire, S'il vous plaît demander.

Répondre

0

Vous consommez (et jeter) le message avec ce code ...

messageConsumer.receive(); 
+0

Même sans recevoir, je ne reçois pas de messages –