JBoss 4.3中允许的最大数据源数(在配置的阻塞超时内没有可用的ManagedConnections)

时间:2017-08-07 11:31:46

标签: java jboss datasource jboss-4.2.x

在我的项目设置--Jboss v4.3中,每个数据源都配置在不同的xyz-ds.xml文件中。我们需要放置大约6千个这样的DS文件。但是有了这么多的DS文件,JBoss无法从以下异常开始。是否有任何配置或默认值定义允许的最大数据源数量?我们如何改变它以容纳大约6到8千个数据源? 示例DS文件:xyz-ds.xml

<no-tx-datasource> 
   <jndi-name>ABC</jndi-name> 
   <connection-url>jdbc:sqlserver://DBconnectionDetails;</connection-url> 
   <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> 
   <user-name>username</user-name> 
   <password>password</password> 
   <min-pool-size>1</min-pool-size> 
   <max-pool-size>4</max-pool-size> 
   <idle-timeout-minutes>20</idle-timeout-minutes> 

使用5000个DS文件启动时出现异常:

2017-08-07 03:39:51,189 INFO [org.springframework.web.context.ContextLoader] Root WebApplicationContext:初始化完成时间为100704 ms 2017-08-07 03:40:15,829 ERROR [org.jboss.resource.adapter.jms.JmsSessionFactoryImpl]无法创建会话 javax.resource.ResourceException:配置的阻塞超时内没有ManagedConnections(30000 [ms])         at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:306)         在org.jboss.resource.connectionmanager.JBossManagedConnectionPool $ BasePool.getConnection(JBossManagedConnectionPool.java:500)         在org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:348)         在org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:331)         在org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:403)         at org.jboss.resource.connectionmanager.BaseConnectionManager2 $ ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:850)         在org.jboss.resource.adapter.jms.JmsSessionFactoryImpl.allocateConnection(JmsSessionFactoryImpl.java:395)         在org.jboss.resource.adapter.jms.JmsSessionFactoryImpl.createSession(JmsSessionFactoryImpl.java:374)         在org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:196)         在org.springframework.jms.listener.AbstractPollingMessageListenerContainer.access $ 200(AbstractPollingMessageListenerContainer.java:78)         at org.springframework.jms.listener.AbstractPollingMessageListenerContainer $ MessageListenerContainerResourceFactory.createSession(AbstractPollingMessageListenerContainer.java:506)         在org.springframework.jms.connection.ConnectionFactoryUtils.doGetTransactionalSession(ConnectionFactoryUtils.java:301)         at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:286)         at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:241)         at org.springframework.jms.listener.DefaultMessageListenerContainer $ AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)         at org.springframework.jms.listener.DefaultMessageListenerContainer $ AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:881)         在org.springframework.jca.work.DelegatingWork.run(DelegatingWork.java:57)         在org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:213)         在org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)         在EDU.oswego.cs.dl.util.concurrent.PooledExecutor $ Worker.run(PooledExecutor.java:756)         在java.lang.Thread.run(Thread.java:745)

0 个答案:

没有答案