针对Oracle的连接池的不连续关闭



我对生态系统的了解有限,请原谅我的无知。

我有一个非常大的Oracle数据库(19(,有很多来自多个应用程序的连接。我们已经设置了最大连接(会话(数量的限制,我们可以很容易地达到这个限制。

我们使用的是Java 17+Spring Boot 2.6.1&HikariCP(考虑UCP(&JDBI3

当我在添加连接池之前运行我的应用程序时,我注意到当我不礼貌地终止连接(强制终止应用程序(时,Oracle端的连接会保持很长一段时间(30m+(。关闭具有连接池的应用程序时,如何处理此问题?我假设连接池将由TCP超时而不是TCP FIN/ACK关闭,并且它的工作方式不同,因为应用程序在能够关闭连接之前就被终止了,但这是否意味着Oracle端的连接将像以前一样保持活动状态?

TL;DR:我需要通过手动关闭连接池来处理不合理的关闭吗?以避免Oracle使死连接保持活动状态?

或者,我需要联系我们的Oracle团队,以某种方式说服他们降低他们似乎支持的这种保持活力的价值。

您可以尝试使用通用连接池(UCP(,它有一个内置机制,可以在应用程序/JVM关闭时优雅地关闭连接。

相关内容

  • 没有找到相关文章

最新更新