加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在Message Driven Beans中确认消息

发布时间:2020-12-15 04:10:31 所属栏目:Java 来源:网络整理
导读:在JMS文档中,我读到Message Driven Beans不支持CLIENT_ACKNOWLEDGE模式,只支持DUPS_OK_ACKNOWLEDGE和AUTO_ACKNOWLEDGE. 据我所知,在AUTO_ACKNOWLEDGE模式下,当调用onMessage方法时,消息被确认(从目标中删除).我想要的是告诉我的经纪人在发生不良事件时不要从
在JMS文档中,我读到Message Driven Beans不支持CLIENT_ACKNOWLEDGE模式,只支持DUPS_OK_ACKNOWLEDGE和AUTO_ACKNOWLEDGE.

据我所知,在AUTO_ACKNOWLEDGE模式下,当调用onMessage方法时,消息被确认(从目标中删除).我想要的是告诉我的经纪人在发生不良事件时不要从目的地(队列或主题)删除消息

必须有一些方法来做到这一点.无论如何,为什么Message Drven Beans不支持CLIENT_ACKNOWLEDGE.

解决方法

What I want is to tell my broker not to delete messages from the
destination (queue or topic) when something bad happens.

如果您配置为使用PERSISTENT消息,则onMessage()中的任何异常都将根据代理和目标设置保留消息以进行重新传递.如果您正在使用NON_PERSISTENT消息,则onMessage()中的任何异常通常都会丢弃该消息.

Anyway,why is CLIENT_ACKNOWLEDGE not supported in Message Driven Beans.

消息驱动的bean由J2EE容器管理;因此,容器处理确认.通常,只有独立的JMS接收器才应使用CLIENT_ACKNOWLEDGE.

你使用什么消息中间件?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读