博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JMS(三):MessageListener
阅读量:5890 次
发布时间:2019-06-19

本文共 1614 字,大约阅读时间需要 5 分钟。

  hot3.png

消息监听器(Message Listener

    消息监听器是一个充当消息的异步事件处理器的对象,它实现了MessageListener接口,这个接口只有一个方法onMessage,在这个方法里,你可以定义当接收到消息之后的要做的操作。你可以用setMessageListener方法为消息消费者注册一个监听器。

 

MessageListener listener = new MessageListener( {
      public void onMessage(Message msg) {          //      }});
topicSubscriber.setMessageListener(listener); //注册监听topicConnection.start();

    有一点要注意,如果你先调用Connectionstart,然后再调用setMessageListener,消息很可能接收不到,正确的做法是先注册监听,再启动Connection

    注册监听之后,一旦JMS容器有消费投递过来,消息消费(接收)者就会自动调用监听器的onMessage方法。这个方法的带有一个参数Message,这就接收到的消息。

 

public class Test2 {	public static void main(String[] args) throws JMSException {				//建立与消息服务器的连接:		ConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");		Connection connection = factory.createConnection();		connection.start();				//创建一个队列:		Queue queue = new ActiveMQQueue("testQueue");				//创建一个会话:		final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);		//创建一个生产者: 		MessageProducer producer = session.createProducer(queue);				//通过会话创建一个消息:		for( int i =0;i<=2; i++ ){			Message message = session.createTextMessage("Hello JMS!");			//生产者把消息发送给服务器:			producer.send(message);		}				System.out.println( "消息已经成功发送到服务器。"  );			//创建一个消费者:		MessageConsumer consumer = session.createConsumer(queue);		consumer.setMessageListener( new MessageListener(){			@Override			public void onMessage(Message message) {				TextMessage text = (TextMessage) message;				try {					System.out.println( "内容: "+  text.getText() );				} catch (JMSException e) {					e.printStackTrace();				}			}		});	}}// 这里是先启动然后在监听

转载于:https://my.oschina.net/gently/blog/628835

你可能感兴趣的文章
Android Studio系列教程四--Gradle基础
查看>>
添加cordova-plugin-file-opener2后,打包出错
查看>>
python 重载方法有哪些特点 - 老王python - 博客园
查看>>
在Fedora8上安装MySQL5.0.45的过程
查看>>
TCP长连接与短连接的区别
查看>>
设计模式之命令模式
查看>>
android 测试 mondey
查看>>
Spring AOP项目应用——方法入参校验 & 日志横切
查看>>
TestNG 六 测试结果
查看>>
用Fiddler或Charles进行mock数据搭建测试环境
查看>>
使用REST-Assured对API接口进行自动化测试
查看>>
GitHub发布史上最大更新,年度报告出炉!
查看>>
王潮歌跨界指导HUAWEI P20系列发布会 颠覆传统 眼界大开!
查看>>
王高飞:微博已收购一直播 明年一季度重点是功能与流量打通
查看>>
趣头条发行区间7至9美元 预计9月14日美国上市
查看>>
新北市长侯友宜:两岸交流应从隔壁最亲近的人开始
查看>>
全面屏的Nokia X即将上线,不到2000元的信仰你要充值吗?
查看>>
利用clear清除浮动的一些问题
查看>>
区块链杂谈-测链
查看>>
一篇文章带拿下盒模型BFC渲染机制
查看>>