【发布时间】:2013-07-02 10:14:57
【问题描述】:
我会定期收到错误:
错误 JDBCExceptionReporter --> javax.resource.ResourceException: IJ000453: 无法获得 java:jboss/datasources/myDB 的托管连接 08:12:05,928 错误 [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/mySoftware].[jsp]] (ajp--xx.255.0.yyy-8109- 21) servlet jsp 的 Servlet.service() 抛出异常:javax.resource.ResourceException: IJ000655: 在配置的阻塞超时 (30000 [ms]) 内没有可用的托管连接 在 org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:377) 等处。
.
所以,我有下一个数据源配置。在 JBoss AS 上:
<datasource jta="true" jndi-name="java:jboss/datasources/myDB" pool-name="ssbs-pssbs" enabled="true" use-ccm="true">
<connection-url>jdbc:postgresql://xx.255.0.yyy/myDatabase</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<driver>postgresql-jdbc4</driver>
<pool>
<min-pool-size>30</min-pool-size>
<max-pool-size>150</max-pool-size>
<prefill>true</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>tick</user-name>
<password>tack</password>
</security>
<validation>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
<timeout>
<blocking-timeout-millis>30000</blocking-timeout-millis>
<idle-timeout-minutes>5</idle-timeout-minutes>
</timeout>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>
在我的 Postgres 服务器中,我允许 max_connection 为 500。 为什么我得到这个异常?
【问题讨论】:
-
看起来池中的所有托管连接都在使用中? 30000 [ms] 是相当大的延迟。我会检查你是否在使用后正确释放连接,数据库上的平均事务需要多长时间,当然还有多少线程试图同时获得连接。
-
而您遇到这种情况是因为您达到了应用服务器配置的 150 个连接的限制。你是如何与这些联系互动的?普通的 JDBC? JPA?
-
我使用的是 Hibernate 3.6。 2 应用程序在 postgres 服务器上使用一个数据库。每隔 2 天,我的应用程序会写“无法为 java:jboss/datasources/myDB 08:12:05,928 ERROR 获取托管连接”,通常 2 个应用程序“max”可以使用 250 个连接到 DB。我有 500 个连接,但出现错误。以及我通过 pgadmin 创建“统计服务器”报告并查看很多连接状态为“提交”并且它们永远保持状态。
-
这个问题解决了吗?如果是,如何?
-
我也面临同样的问题,有人对此有什么建议吗?谢谢
标签: database jboss7.x datasource postgresql-9.1