![](/img/trans.png)
[英]What happens when an in-flight transaction (holdable result set) is rolled back in Derby after a successful commit?
[英]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.