全部, 我是JMS的新手,我在JMS中有一个关于Session.rollBack()方法的问题。 AFAIK,此方法用于在使用* SESSION_TRANSACTED *确认模式时通过会话将所有操作回滚到JMS服务器(发送/接收)。现在假设我在接收/处理操作的catch块中调用此方法(是合理的?),以告知JMS服务器重新传递消息以进行处理,但即使重新传递,处理仍会抛出相同的异常,从而导致JMS服务器重新传递消息,所以它似乎是一个无限的过程。如何处理这个问题?还是还有其他的JMS功能是为它设计的?提前致谢!about JMS中的Session.rollBack()
1
A
回答
1
JMS中的回滚方法将回滚在该“事务”中发送和接收的任何消息。这里的事务对于JMS会话是本地的。
重新交付是否会导致问题真的取决于发生异常的原因。如果是由于一些短暂的问题,那么重新交付可能会奏效。如果你遇到过这种问题,那么一旦发生,就会一直发生(这个例子是一个JMS的TextMessage,它的主体应该包含XML,但是不包含)。
JMS API本身不提供任何解决方案。这通常由JMS提供者负责,它的行为方式取决于您使用的是哪一个。举例来说,WebSphere MQ将重新传递达到可配置的最大值,此时它会将它移动到队列中以查找错误消息。 WebSphere Application Server中的服务集成总线具有类似的行为。我建议你参考你的JMS提供者文档来确定它在这种情况下的行为。
如果您在应用程序服务器中运行,回滚通常不会执行任何操作,因为应用程序服务器将为您管理事务。
相关问题
- 1. about toolStripDropDownButton
- 2. about httpd.conf
- 3. Google chrome about:#######?
- 4. Android:confused about compileSdkVersion + targetSdkVersion 23
- 5. Git&Issues about Simultaneous Teamwork
- 6. about typeinfo中的函数之前
- 7. 什么是“空”@about属性?
- 8. about/proc读写功能
- 9. About the Stanford CoreNLP in chinese model
- 10. php && mysql about Post方法
- 11. MySQL查询,ALL ABOUT CONCAT
- 12. about while(!(cin >> x))
- 13. about express 4 router and push
- 14. wxPython:添加一个about框。
- 15. confused about linq和IEnumerable或IList
- 16. creativeObject的“about”属性的使用
- 17. alpakka,jms中的JMS和correlationId在响应中的消息
- 18. Eclipse中'About'对话框中的字体RCP
- 19. JMS队列和JMS主题
- 20. WebSphere中的JMS,MQ异常
- 21. view and data API about use、upload、pricing
- 22. repo about .git/HEAD:error:manifest missing or unreadable - please run init
- 23. 在哪里定义OSX应用程序中的about box
- 24. 版本信息在Visual Studio About Box中的含义是什么?
- 25. Firefox源代码中的about box在哪里?
- 26. Rails 3中的ruby脚本/ about大约相当于什么?
- 27. JNDI中的JMS ConnectionFactory查找中的ClassCastException
- 28. JMS setTimeToLive
- 29. Weblogic JMS服务器配置:与JMS服务器交谈的JMS模块
- 30. JMS服务器消失时JMS捕获