作为我们进程的错误处理的一部分,我们尝试使用以下iptables命令禁用进程与数据库机器侦听器端口之间的通信
iptables -A INPUT -p tcp --destination-port <database-listener-port> -s <database-host-ip> -j DROP
然而,这导致进程陷入来自AbstractPlatformTransactionManager :: getTransaction的以下日志
DEBUG: Creating new transaction with name [<Transaction-Name>]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
启用它,稍后使用&#39; iptables -F&#39;使交易“恢复生机”。再次,正在检索连接并成功结束。
我们最关心的事实是所有连接超时配置都没有被激活(?)因此我们就这样挂起,我们的连接池默认值(见下文)都没有这样的无限超时(我们也尝试给出一个小的默认值abandonedConnectionTimeout但它没有帮助,我们返回了我们认为应该在生产中的真正默认值)我们期望应该执行某种取消操作。
abandonedConnectionTimeout=0
acquireIncrement=5
acquireRetryAttempts=3
checkoutTimeout=5000
idleConnectionTestPeriod=60
inactivityTimeout=1800
inactivityTimeoutforNonUsedConnection=1800
validateConnection=true
感谢您对此事的任何帮助。