Hi, I'm working on windows with Websphere 5.1. I am deploying a number of MDBs which are currently using one of three message listener ports. All beans use the same QueueConnctionFactory. I am unable to figure out how best to configure my session and connection pools. But when I run my tests it is getting to the point where it appears the pool is running out of connections. I am not sure what I need to do to fix this. Suppose my queue connection factory is called myQueueConnectionFactory. Then I have configured the session pool as follows: connection timeout - 100 secs max connections - 30 min connections - 5 reap time - 60 secs unused timeout - 1800 secs aged timeout - 1200 secs purge policy - EntirePool
The session pool settings are: connection timeout - 90 seconds max connections - 30 min connections - 2 reap time - 180 seconds unused timeout - 1800 seconds aged timeout - 0 seconds Purge Policy - EntirePool
Why are my connections not getting returned to the pool? Have I configured this incorrectly? I have looked at some docs on configuring but I suspect I'm missing something. Any help here would be greatly appreciated.
The error that I am getting in my server trace is:
[19/04/05 10:33:44:328 IST] 2679e06c FreePool E J2CA0045E: Connection not available while invoking method queueRequest for resource jms/myQueueConnectionFactory. [19/04/05 10:33:44:375 IST] 2679e06c ConnectionMan E J2CA0020E: The Connection Pool Manager could not allocate a Managed Connection: com.ibm.websphere.ce.j2c.ConnectionWaitTimeoutException: Connection not available, Timed out waiting for 100000 at com.ibm.ejs.j2c.poolmanager.FreePool.createOrWaitForConnection(FreePool.java:1098) at com.ibm.ejs.j2c.poolmanager.PoolManager.reserve(PoolManager.java:1685) at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:685) at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:462) at com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle.createQueueConnection(JMSQueueConnectionF actoryHandle.java:80) at com.fineos.ta.services.mdb.EJBMessageDrivenBean.getSession(EJBMessageDrivenBean.java:162)
Regars, Aoife
Edward Singleton
Greenhorn
Joined: Jun 26, 2002
Posts: 4
posted
0
I am having this same problem. The following web page may be of use:
Originally posted by Aoife Kavanagh: Hi, I'm working on windows with Websphere 5.1. I am deploying a number of MDBs which are currently using one of three message listener ports. All beans use the same QueueConnctionFactory. I am unable to figure out how best to configure my session and connection pools. But when I run my tests it is getting to the point where it appears the pool is running out of connections. I am not sure what I need to do to fix this. Suppose my queue connection factory is called myQueueConnectionFactory. Then I have configured the session pool as follows: connection timeout - 100 secs max connections - 30 min connections - 5 reap time - 60 secs unused timeout - 1800 secs aged timeout - 1200 secs purge policy - EntirePool
The session pool settings are: connection timeout - 90 seconds max connections - 30 min connections - 2 reap time - 180 seconds unused timeout - 1800 seconds aged timeout - 0 seconds Purge Policy - EntirePool
Why are my connections not getting returned to the pool? Have I configured this incorrectly? I have looked at some docs on configuring but I suspect I'm missing something. Any help here would be greatly appreciated.
The error that I am getting in my server trace is:
[19/04/05 10:33:44:328 IST] 2679e06c FreePool E J2CA0045E: Connection not available while invoking method queueRequest for resource jms/myQueueConnectionFactory. [19/04/05 10:33:44:375 IST] 2679e06c ConnectionMan E J2CA0020E: The Connection Pool Manager could not allocate a Managed Connection: com.ibm.websphere.ce.j2c.ConnectionWaitTimeoutException: Connection not available, Timed out waiting for 100000 at com.ibm.ejs.j2c.poolmanager.FreePool.createOrWaitForConnection(FreePool.java:1098) at com.ibm.ejs.j2c.poolmanager.PoolManager.reserve(PoolManager.java:1685) at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:685) at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:462) at com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle.createQueueConnection(JMSQueueConnectionF actoryHandle.java:80) at com.fineos.ta.services.mdb.EJBMessageDrivenBean.getSession(EJBMessageDrivenBean.java:162)
Regars, Aoife
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.