繁体   English   中英

如果既未提交也不回滚JMS事务,消息将如何处理

[英]What happens to message if a JMS transaction is neither Committed nor Rolled back

请帮助我,我是JMS的新手。 如果JMS事务既未提交也不回滚,消息将如何处理?

确切的行为取决于经纪人。 我专门研究WebSphere MQ,因此将以这些术语进行解释。 如果您让我们知道您使用哪种经纪人,那么精通该特定经纪人的人可能会做出回应。

使用WMQ,限制因素是事务日志和应用程序的寿命。 如果应用程序死于未完成的事务,则将其回滚。 除此之外,事务一直存在于日志中,直到日志空间用尽为止,这时事务将回滚,并且应用程序将获取原因码以指示错误的性质。 如果没有其他应用程序写入事务日志,则该事务可以无限期地存在。 如果QMgr忙,则未提交的事务可能仅持续几秒钟,具体取决于日志范围和大小。

WMQ没有内存泄漏类型的影响。 有一些可调参数,例如,未提交消息的数量上限,可以防止内存,句柄和其他资源失去控制。

事务超时时间过去之后,您的jms事务将被回滚。 因此,没有任何交易保持保留状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM