当前位置: 首页 > 知识库问答 >
问题:

JMS MessageConsumer的messageListener进行推或拉?

澹台华采
2023-03-14

当我在我的队列中设置一个MessageListener时,在引擎盖下会发生什么?Message消费者对象是否在场景之后进行某种轮询,或者这是JMS服务器进行的真正推送?

Java消息服务(O'Reilly Java系列)作者:David A.Chappell、Richard Monson Haefel和Mark Richards,第10页第1章:点对点

点到点消息传递模型传统上是基于pullbased或polling的模型,其中消息从队列中请求,而不是自动推送到客户端

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

当消息传递开始时,JMS提供程序会在每次传递消息时自动调用消息侦听器的onMessage方法。

谢谢,柯德

共有1个答案

巫马昆杰
2023-03-14

这两者并不矛盾。P2P本质上是基于拉的,因为一旦消息由生产者发送,接收者就有责任读取消息。您在第二个引号中提到的onMessage()方法是一种用于启动拉取的通知机制。这些变体也称为接收JMS消息的同步与异步模式,如Java教程本章中的示例。

 类似资料:
  • 我试图量化我的模型(CNN),以便将其转换为量化模型。tflite模型。我将在以下位置阅读教程:https://github.com/tensorflow/tensorflow/tree/r1.13/tensorflow/contrib/quantize#quantization-意识训练 首先,我通过调用以下命令在我的图中引入假量化节点: 但是,当最后我尝试调用此函数以确保图形以正确的格式导出量

  • 我使用Tweepy访问流API并将其存储在JSON文件中。代码看起来很好,但我一直得到这个错误:属性错误:'NoneType'对象没有属性'strip' 这里的错误在最后一行。我认为流正在返回null,因此当我试图过滤它时,它给出了错误。请帮忙!

  • 我已经使用OWL API4.1.3加载了我的本体,它并不大。由于需要使用推断信息,我还使用Hermit1.3.8.413库进行了推理。下面的代码显示了我是如何完成的。 它不会抛出任何错误,但它需要将推断出的本体存储在一个新文件中。事实上,即使在2天后,它也没有完成工作。我的IDE是eclipse EE,我为运行这个应用程序提供了6到12 GB的内存。我找不到任何问题与我的代码或我的本体。

  • 首先,我想声明我一直在研究推送通知和web通知之间的关系,但我有点困惑。 我从这里读到PWAs的推送通知在Safari上的iOS(iPhone)不起作用:从PWA向iOS发送推送通知 然而,如果iPhone用户使用的是Chrome,这是否意味着它们可以工作呢?或者推送通知在任何浏览器上对iPhone中的PWAs都不起作用? 这就把我带到了web通知。web通知在后台对PWAs起作用吗?我的问题是w

  • 问题内容: 在推送解析方法下,推送解析器在解析文档时会生成同步事件,并且这些事件可以由应用程序使用回调处理程序模型进行处理 这是在 Pro XML Development with Java中 有关SAX 2.0 的书中给出的内容。 至于StAX,这本书说: 在拉取方法下,使用解析器在应用程序的控制下从XML文档中拉取事件。 我想问一下,突出显示的文字是什么意思?一个适合初学者的答案表示赞赏:)

  • 首先,我是Spring集成和Spring JMS方面的新手,所以我尝试采用的解决方案可能不适合我的需求。 我将尝试解释我需要实现什么:基本上,我需要将消息放在一个队列中,并在另一个队列中异步等待答案。 1、将消息放入队列: 我的解决方案: -- 2.异步监听来自另一个队列的回复消息: 我的解决方案1: 自定义MessageListener实现javax.jms.MessageListener。 然