【问题标题】:How is message exchange implemented in IBM MQ: push or pull?IBM MQ 中如何实现消息交换:推送还是拉取?
【发布时间】:2018-08-09 15:02:15
【问题描述】:

我想了解 WebSphere MQ 的 JMS 驱动程序的实现是什么。我对 JMS 同步/异步方法不感兴趣,而是对它们的实现感兴趣。

如果应用程序部署在 J2EE 服务器上并执行异步调用(通过实现 onMessage()),J2EE 服务器是否仍然拉取以检查消息的可用性,或者 MQ 是否主动回调客户端(J2EE 服务器)通过打开的socket来通知消息的存在?

【问题讨论】:

    标签: jakarta-ee ibm-mq


    【解决方案1】:

    这取决于您使用的 IBM MQ 版本。

    在 MQ V7 之前,JMS 层会轮询队列管理器以获取消息 - 本质上是拉取。

    在 MQ V7 之后,队列管理器原生地理解并实现了异步 get,它将通知 getter 一条消息,因此它不再需要轮询。

    进一步阅读

    【讨论】:

    • 感谢您的洞察力!文档中是否有相应部分的链接?
    • 嗨@PavelVasilev - 我已经用一个链接更新了我的答案,希望对您有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2019-08-29
    • 1970-01-01
    • 2016-04-08
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多