java - Jetty 9.2.3 中是否存在 JDBC ConnectionPool 泄漏?

标签 java oracle jdbc jetty

我有一个长时间运行的 Java Jetty(版本 9.2.3)应用程序,具有与 Oracle 的数据库连接。该应用程序运行良好。但是,24 小时后,我发现到 Oracle 服务器的 TCP 连接数增加了,并且大于我为 ConnectionPool 设置的 MaxLimit(在我的例子中为 4)。

$ netstat -an | grep 1234
tcp        0      0 ::ffff:10.178.120.15:60373  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp     2340      0 ::ffff:10.178.120.15:78482  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp     2440      0 ::ffff:10.178.120.15:88418  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp     2610      0 ::ffff:10.178.120.15:58264  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp        0      0 ::ffff:10.178.120.15:58288  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp        0      0 ::ffff:10.178.120.15:40352  ::ffff:218.17.10.11:1234   TIME_WAIT   
tcp        0      0 ::ffff:10.178.120.15:58145  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp     1230      0 ::ffff:10.178.120.15:59334  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp     2450      0 ::ffff:10.178.120.15:58287  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp     1230      0 ::ffff:10.178.120.15:59333  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp     1190      0 ::ffff:10.178.120.15:59340  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp     1320      0 ::ffff:10.178.120.15:58480  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp        0      0 ::ffff:10.178.120.15:40338  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp      100      0 ::ffff:10.178.120.15:59382  ::ffff:218.17.10.11:1234   ESTABLISHED 
tcp        0      0 ::ffff:10.178.120.15:40952  ::ffff:218.17.10.11:1234   TIME_WAIT   
tcp        0      0 ::ffff:10.178.120.15:70952  ::ffff:218.17.10.11:1234   TIME_WAIT   
tcp        0      0 ::ffff:10.178.120.15:60952  ::ffff:218.17.10.11:1234   TIME_WAIT   

Jetty 9.2.3 中是否存在 ConnectionPool 泄漏?

最佳答案

Jetty 只是跟踪(在 JNDI 中)并返回 jdbc 支持 jar 创建和维护的 DataSource 对象。

如果存在连接泄漏,那么它完全在您正在使用的 jdbc 支持 jar 中。

查看该 jar 的更新,和/或考虑为您的数据源使用适当的连接池层。

一些可能的候选人:

关于java - Jetty 9.2.3 中是否存在 JDBC ConnectionPool 泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31797520/

相关文章:

Java、Oracle db - trunc(nvl) 从日期时间对象中删除时间戳后出现时区问题

java.sql.SQLSyntaxErrorException : ORA-00922: missing or invalid option

JavaFX 与 MySql 登录表单 - NullPointerException

java - 如何将一个数组列表的前四个元素移动到另一个数组列表中?

java - 什么时候在android中使用parcelable?

java - 在分层应用程序中记录异常的最佳实践,以避免重复的错误日志消息

java - 简单的 Intent 没有表现出来? [仍然没有被接受的答案]

sql - 这个错误是什么意思,为什么会出现?

sql - Oracle 11g OFFSET FETCH 给出错误

java - IntelliJ 中的 JDBC mysql 驱动配置