jboss数据库连接超时问题
j2sdk1.4.2_07 + jboss-4.0.0上发布web 应用,但jboss开在那里一两天后,访问web 应用时,jsp页面就打不开了,jboss控制台提示的信息,大概是说连接数据库超时,具体出错信息如下:
9:04:07,140 INFO [STDOUT] at org.apache.coyote.http11.Http11Protocol$Htt
1ConnectionHandler.processConnection(Http11Protocol.java:705)
09:04:07,140 INFO [STDOUT] at org.apache.tomcat.util.net.TcpWorkerThread.
nIt(PoolTcpEndpoint.java:577)
09:04:07,140 INFO [STDOUT] at org.apache.tomcat.util.threads.ThreadPool$C
trolRunnable.run(ThreadPool.java:683)
09:04:07,140 INFO [STDOUT] at java.lang.Thread.run(Thread.java:534)
09:06:24,312 INFO [STDOUT] org.jboss.util.NestedSQLException: No ManagedConne
ions available within configured blocking timeout ( 30000 [ms] ); - nested thr
able: (javax.resource.ResourceException: No ManagedConnections available withi
configured blocking timeout ( 30000 [ms] ))
09:06:24,312 INFO [STDOUT] at org.jboss.resource.adapter.jdbc.WrapperData
urce.getConnection(WrapperDataSource.java:106)
09:06:24,312 INFO [STDOUT] at ims.db.DBcon.<init>(DBcon.java:35)
09:06:24,312 INFO [STDOUT] at ims.dao.ProcedureDAO.<init>(ProcedureDAO.java
09:06:24,312 INFO [STDOUT] at ims.business.UsersBO.validateUser(UsersBO.java:43)
09:06:24,312 INFO [STDOUT] at ims.action.loginAction.execute(loginAction.java:33)
09:06:24,312 INFO [STDOUT] at org.apache.struts.action.RequestProcessor.p
cessActionPerform(RequestProcessor.java:484)
.......
我的数据库连接是用jboss的数据源,在jboss-4.0.0\server\default\deploy下配置了mssql-ds.xml文件,
如下:<datasources>
<local-tx-datasource>
<jndi-name>MSSQL/IMS</jndi-name>
<connection-url>jdbc:microsoft:sqlserver://192.168.0.1:1433;DatabaseName=book</connection-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<user-name>sa</user-name>
<password>abc</password>
<!-- sql to call when connection is created
<new-connection-sql>some arbitrary sql</new-connection-sql>
-->
<!-- sql to call on an existing pooled connection when it is obtained from pool
<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
-->
</local-tx-datasource>
</datasources>
java中获取数据源的代码是: Context env = new InitialContext();
DataSource pool = (DataSource) env.lookup("java:MSSQL/IMS");
conn=pool.getConnection();
这样可以获得数据源,问题是为什么jboss开在那里一两天后,就获取不到数据源,出现接数据库超时??? 反复的检查过程序,在程序中connection都以关闭
应该如何修改??