问题描述
我们有一个连接到 Oracle AQ 的 Spring Boot 集成应用程序。一切似乎都按预期工作,除了 Tomcat 池连接管理器似乎相信 JMS 会话连接被放弃并每 x 配置秒强制关闭它。
我已经调试了代码,即使没有收到消息,Spring AbstractPollingMessageListenerContainer 也会执行提交,以尝试重置超时计数器:
// Nevertheless call commit,in order to reset the transaction timeout (if any).
// However,don't do this on Tibco since this may lead to a deadlock there.
if (shouldCommitAfterNoMessageReceived(sessionToUse)) {
commitIfNecessary(sessionToUse,message);
}
尽管如此,tomcat-jdbc ConnectionPool.checkAbandoned() 方法确实在连接上执行了放弃()。
我能想到的唯一解决方法是将“abandonWhenPercentageFull”属性设置为更高的值,以阻止连接被强制关闭。
这种行为正常吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)