消息的消费者接收消息可以采用两种方式:
1、consumer.receive() 或 consumer.receive(int timeout);
2、注册一个MessageListener。
采用第一种方式,消息的接收者会一直等待下去,直到有消息到达,或者超时。后一种方式会注册一个监听器,当有消息到达的时候,会回调它的onMessage()方法。下面举例说明:
- MessageConsumercomsumer=session.createConsumer(queue);
- comsumer.setMessageListener(newMessageListener(){
- @Override
- publicvoidonMessage(Messagem){
- TextMessagetextMsg=(TextMessage)m;
- try{
- System.out.println(textMsg.getText());
- }catch(JMSExceptione){
- e.printStackTrace();
- }
- }
- });
消息消费方式详解
本文介绍了消息队列中消费者接收消息的两种主要方式:通过consumer.receive()及其变体直接接收消息,以及通过注册MessageListener实现消息回调。这两种方式各有特点,前者使消费者持续等待直至消息到达或超时,后者则通过监听器机制在接收到消息时触发处理。
73

被折叠的 条评论
为什么被折叠?



