2015-05-31 176 views
0

我有一个与java消息服务有关的问题... 问题:假设我的JMS发布者向我发送5条消息...当我收到前两条消息时,我的应用程序处理它n确认它...因此,它是从主题中删除...温我recv第3 msg bcz的一些问题我的应用程序无法处理第3条消息和dint承认...但第4和第5条消息得到处理和承认...但是我chk管理控制台我发现第三条消息也被确认...Jms消息确认

我想知道如何分别确认每条消息。任何人有想法?

注:M使用CLIENT_ACKNOWLEDGE模式

回答

0

根据JMS规范CLIENT_ACKNOWLEDGE - 一个确认消息消耗自动确认收到已经由它的会话中传送all消息。

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

+0

是的我猜weblogic不支持每个消息确认...是否有可能做出自定义确认...哪些将单独确认消息...任何想法? – user2991214

+0

目前Tibco和ActiveMQ提供这种INDIVIDUAL_ACK模式。这也是JMS2.1规范的考虑因素!使用当前的WebLogic,您没有太多选择。尝试将连接工厂确认模式设置为Previous,并在失败后立即执行session.recover()。 – satks