定期我得到错误:
错误 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:无托管连接在 org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:377) 等配置的阻塞超时(30000 [ms])内可用。
.
所以,我有下一个数据源配置。在 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。为什么会出现此异常?