深入掌握JMS(三):MessageListener

来源:互联网 发布:java类加载顺序 编辑:程序博客网 时间:2024/06/07 15:48

消息的消费者接收消息可以采用两种方式:

  1、consumer.receive() 或 consumer.receive(int timeout);
  2、注册一个MessageListener。

  采用第一种方式,消息的接收者会一直等待下去,直到有消息到达,或者超时。后一种方式会注册一个监听器,当有消息到达的时候,会回调它的onMessage()方法。下面举例说明:

 

//view plaincopy to clipboardprint?
MessageConsumer comsumer = session.createConsumer(queue);  
comsumer.setMessageListener(new MessageListener(){  
           @Override 
           public void onMessage(Message m) {  
               TextMessage textMsg = (TextMessage) m;  
               try {  
                   System.out.println(textMsg.getText());  
               } catch (JMSException e) {  
                   e.printStackTrace();  
               }  
           }  
            
       });