Hello,
i've been adding almost successfully Jackrabbit Repository to our project,
basically for file storing purposes. Everything works great, with some
exceptions,
one which is critical, once in a while, following no apparent pattern an
exception is thrown
saying the pool is out of connections, this one:
Caused by: com.sun.appserv.connectors.internal.api.PoolingException:
Las conexiones en uso equivalen al valor de max-pool-size y el tiempo
caducado de max-wait-time. No se pueden asignar m?s conexiones.
(Quantity of connections in use are same as defined max-pool-size and
max-wait-time already elapsed. Can't assign any more connections.)
at
com.sun.enterprise.resource.pool.ConnectionPool.getResource(ConnectionPool.java:418)
at
com.sun.enterprise.resource.pool.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:245)
at
com.sun.enterprise.resource.pool.PoolManagerImpl.getResource(PoolManagerImpl.java:170)
at
com.sun.enterprise.connectors.ConnectionManagerImpl.getResource(ConnectionManagerImpl.java:332)
at
com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:301)
at
com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:190)
at
com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:165)
at
com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:160)
at
org.apache.jackrabbit.jca.JCARepositoryHandle.login(JCARepositoryHandle.java:75)
... 120 more
Our setup/context is the following:
VM: java 7 (1.7.0_101)
container: Glassfish 3.1.2.2
main framework for webapp: struts 2
DB (mysql) persistence manager: Hibernate 4.2.19.Final
Jackrabbit stuff/versions:
jackrabbit-core 2.14.4
jcr 2.0
OCM: jackrabbit-ocm 2.0.0
Connector: jackrabbit-jca-2.14.4 (This one is deployed as a connector in
glassfish, associated with a connection pool )
The configuration for JCA connector is the following:
Connection definition: javax.jcr.Repository
Initial and minimum pool size: 8 Connections
Maximum pool size: 32 Connections
Switch Pool size: 2 connections
Activity Timeout 300 seconds
Max Wait Timeout: 60000 miliseconds
Transaction Support: XATransaction
Matching Connections: Yes.
bindSessionToTransaction: True
It seems to be caused randomnly, as we're able to produce and store a
couple thousand of files within minutes with no crashes
(every file is stored within a transaction and with a single Session to
the repository). Should the pool be out of connections,
it should happen immediately i think (???).
So, if someone has any indication/clues it would be greatly appreciated,
thanks in advance, best regards,
Manuel.