【问题标题】:Jms message acknowledgementJms消息确认
【发布时间】:2018-05-18 14:05:26
【问题描述】:

我有一个与 java 消息服务有关的问题... 问题:假设我的 JMS 发布者向我发送了 5 条消息...当我收到前两条消息时,我的应用程序会处理它们并确认它们...以便将其从主题中删除...因为某些问题,我收到了第三条消息我的应用程序无法处理它并且不确认...但是第 4 条和第 5 条消息已得到处理并确认...但是当我检查管理控制台时,我发现第 3 条消息也已确认...

我想知道如何单独确认每条消息。有人知道吗???

注意:我使用的是 CLIENT_ACKNOWLEDGE 模式。

【问题讨论】:

    标签: jms jms-topic


    【解决方案1】:

    根据 JMS 规范 CLIENT_ACKNOWLEDGE - 确认消费的消息会自动确认收到了由其会话传递的 all 消息。

    许多 JMS 提供程序已实现上述规范,因此不提供确认一条消息。但是一些 JMS 提供程序(AcitveMQ ??)确实实现了每个消息确认。因此,您需要咨询您的 JMS 提供商是否支持每条消息确认功能。

    【讨论】:

    • 是的,我猜 weblogic 不支持每条消息确认...是否可以进行自定义确认...哪个会单独确认消息...有什么想法吗??
    • 目前 Tibco 和 ActiveMQ 提供了这种 INDIVIDUAL_ACK 模式。这也考虑到了 JMS2.1 规范!使用当前的 WebLogic,您没有太多选择。尝试将 Connection Factory Acknowledgment 模式设置为 Previous 并在失败后立即执行 session.recover()。
    猜你喜欢
    • 2012-01-13
    • 2010-12-12
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    • 2020-11-16
    相关资源
    最近更新 更多