0

我开发了一个 Web 应用程序并使用 Tomcat 连接池,Java 代码正在触发对 DB2 服务器的查询,有时它运行良好并返回结果,但有时它挂起,即查询将在没有任何线索的情况下连续运行。然后我必须重新启动解决问题的Tomcat服务器并从数据库中提供成功的数据,我正在使用JNDI并在tomcat服务器(6.x)的server.xml中配置了参数。

应用程序war文件的web.xml中的配置:- <resource-ref> <description>DB Connection Pool </description> <res-ref-name>jdbc/abcd</res-ref-name> <res-type>javax.sql.DataSource </res-type> <res-auth>Container </res-auth> </resource-ref>

context.xml apache tomcat 服务器中的配置:- <ResourceLink global="jdbc/abcd" name="jdbc/abcd" type="javax.sql.DataSource" />

server.xml 中的配置:- <Resource name="jdbc/abcd" auth="Container" type="javax.sql.DataSource" username="zzzzz" password="zzzzz" driverClassName="com.ibm.db2.jcc.DB2Driver" url="jdbc:db2://IP:50000/MYDB" />

我没有配置任何额外的参数,比如 minIdle、maxIdle、maxWait 和 maxActive。

请让我知道正确的配置过程,我必须更改哪些参数才能正确处理连接。

4

1 回答 1

0

我不确定“正确处理连接”是什么意思。如果这是您想要的,您可以设置 commandTimeout 数据源属性以在一段时间后终止查询。但是,我感觉问题出在数据库大小上。例如,您遇到锁冲突,并且locktimeout数据库中的参数设置为无穷大,这会导致某些连接永远等待。您可能需要与您的 DBA 交谈。

于 2013-08-22T22:56:00.463 回答