JMS的MessageConsumer的消息监听使得推或拉?(JMS MessageConsumer

2019-09-16 12:02发布

引擎盖下到底发生了什么,当我在我的队列的MessageConsumer对象上设置一个MessageListener。 请问的MessageConsumer对象做出某种轮询ehind现场的或者这是由JMS服务器做了一个真正的推动?

Java消息服务(Java的奥赖利系列)由David A. Chappell的,理查德·蒙森-Haefel的和马克·理查兹,P10第一章:点至点

点至点消息模型传统上一直是pullbased或轮询为基础的模型,其中消息从队列请求,而不是被自动推送到客户机

http://docs.oracle.com/javaee/1.4/tutorial/doc/JMS4.html#wp79175

当消息传递开始,只要消息传递JMS提供者自动调用消息监听器的onMessage方法。

谢谢,KOD

Answer 1:

这两个不互相矛盾。 P2P基本上是拉式的,因为它是接收方的责任,一旦由生产者发送到阅读的消息。 你在你的第二个报价中提到onMessage()方法是用来启动拉一个通知机制。 这些变化也被称为同步VS在接收JMS消息,例如异步的方式在Java教程本章 。



文章来源: JMS MessageConsumer's messageListener makes push or pull?
标签: java jms