如何确认消息驱动Bean中的消息

Ame*_* A. 3 java jms message-driven-bean

在JMS文档中,我读到Message Driven Beans不支持CLIENT_ACKNOWLEDGE模式,仅DUPS_OK_ACKNOWLEDGEAUTO_ACKNOWLEDGE.

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

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

raf*_*ian 7

我想要的是告诉我的经纪人在发生不良事件时不要从目的地(队列或主题)删除消息.

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

无论如何,为什么在Message Driven Beans中不支持CLIENT_ACKNOWLEDGE.

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

你使用什么消息中间件?