我们有一个监听消息队列的应用程序,我知道 dmlc 提供了一个 sessionTransacted 属性,我假设它允许我们手动提交消息接收事件,但是我不确定如何在监听器中利用它。
似乎只要抛出一个 RuntimeException 消息就会被放回队列中,如果没有设置 ErrorHandler 但我们想专门提交接收,则进入循环。
例如
public class JMSMessageListener implements MessageListener {
@Override
public void onMessage(Message message) {
// do something with the message and then manually commit
}
}