【发布时间】:2022-04-26 04:49:59
【问题描述】:
我们正在将 Tomcat6、java 6 和 Oracle 10g Web 应用程序迁移到 Tomcat 8、Java 8 和 Oracle 10g。迁移后我们的应用程序工作正常,但连接池中可用的初始连接 (initialSize="5") 在 Tomcat 关闭后未释放。当第二次启动 tomcat 时,它会再创建 5 个初始连接到池。我在 server.xml 中使用以下资源配置
<Resource name="TestAppDataSource"
auth="Container"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
initialSize="5"
maxActive="40"
maxIdle="40"
minIdle="5"
timeBetweenEvictionRunsMillis="30000"
minEvictableIdleTimeMillis="30000"
maxWait="10000"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationQuery="SELECT 1 from dual"
validationInterval="30000"
logAbandoned="true"
removeAbandonedTimeout="30"
removeAbandonedOnBorrow="true"
removeAbandonedOnMaintenance="true"
suspectTimeout="300"
maxAge="60000"
url="jdbc:oracle:thin:@//IP_ADDRESS:1521/SCHEMA_NAME"
username="USER_NAME"
password="PASSWORD" />
应用META_INF/context.xml中的资源链接配置如下
<ResourceLink
name="APP_TEST"
global="TestAppDataSource"
type="javax.sql.DataSource"
/>
我正在使用 ojdbc7.jar 作为 oracle 驱动程序。请帮助我是否错过任何配置..
【问题讨论】:
-
Tomcat JVM 终止后,您是否已将套接字连接到 Oracle?这很难相信。你检查网络层了吗?还是你的问题是别的什么?
标签: jdbc java-8 connection-pooling tomcat8 ojdbc