我们正在将Tomcat6,Java 6和Oracle 10g Web应用程序迁移到Tomcat 8,Java 8和Oracle 10g。我们的应用程序在迁移后工作正常,但在Tomcat关闭后未在连接池中提供初始连接(initialSize =" 5")。当第二次启动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驱动程序。请帮助我是否错过任何配置..
答案 0 :(得分:0)
尝试使用以下选项:
removeAbandoned = true
(boolean)标记,如果它们超过,则删除已放弃的连接 removeAbandonedTimeout。如果设置为true,则考虑连接 如果使用时间超过,则放弃并有资格获取 removeAbandonedTimeout将此设置为true可以恢复db 来自无法关闭连接的应用程序的连接。看到 logAbandoned默认值为false。
Tomcat现在使用JDBC连接池org.apache.tomcat.jdbc.pool,它是Apache Commons DBCP连接池的替代或替代。
removeAbandoned是JDBC连接池的选项
答案 1 :(得分:0)
您必须在context.xml中将body {
padding-bottom: 0px !important;
margin-bottom: -40px !important;
}
footer.well{
margin-bottom: -20px !important;
}
添加到JDBC资源。这样,Tomcat就可以正确释放与数据库的挂起连接。