即使我迟到了一年以上,但我还是在这里偶然发现了我遇到的类似问题,并且也需要解决方案。所以我想我会分享最终对我有用的东西。
就我而言,在查找并阅读本文>>> configuration-jdbc-pool-high-
concurrency之后,我刚刚在我的池配置中添加了一个类似的拦截器。
"org.apache.tomcat.jdbc.pool.interceptor.ResetAbandonedTimer"
这样您所做的行(来自上面发布的代码)
setJdbcInterceptors(...)现在应如下所示;
p.setJdbcInterceptors( "org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;" + "org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer;" + "org.apache.tomcat.jdbc.pool.interceptor.ResetAbandonedTimer");
说明 -引用该文章说:
我们要确保当我们检测到仍在使用连接时,请重置超时计时器,以使该连接不会被视为已放弃。 我们通过插入一个拦截器来做到这一点。
每次准备语句或执行查询时,计时器都会重置连接池上的放弃计时器。 这样,执行大量查询和更新不会超时。
考虑到您很可能很久以前已经解决了该问题,我仍然希望这可以像本人一样帮助其他遇到类似问题的人进入此页面。
干杯!



