# jmspool **Repository Path**: mirrors_fusesource/jmspool ## Basic Information - **Project Name**: jmspool - **Description**: JMS Connection Pool - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2026-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Generic XA-aware JMS Connection Pool ==================================== _This project has been merged into the [Apache ActiveMQ](http://activemq.apache.org) ([activemq-jms-pool](http://search.maven.org/#search|ga|1|activemq-jms-pool) artifact) and won't be actively developed anymore. The first version of the ActiveMQ with the JMS pool included is 5.9.0. Please use ActiveMQ pool instead._ This library provides a generic JMS connection pool with 3 different falvors: * a simple [PooledConnectionFactory](https://github.com/fusesource/jmspool/blob/master/src/main/java/org/fusesource/jms/pool/PooledConnectionFactory.java) * an XA-aware [XAPooledConnectionFactory](https://github.com/fusesource/jmspool/blob/master/src/main/java/org/fusesource/jms/pool/XaPooledConnectionFactory.java) * a [JCAPooledConnectionFactory](https://github.com/fusesource/jmspool/blob/master/src/main/java/org/fusesource/jms/pool/JcaPooledConnectionFactory.java) dedicated to leverage the Geronimo/Aries transaction manager # Configuration ## Base configuration The PooledConnectionFactory has the following mandatory parameter: * connectionFactory: the underlying JMS ConnectionFactory and the following optional parameters: * maximumActive: maximum number of sessions for a given connection (used when no poolFactory is given, default to 500) * maxConnections: the maximum number of connections to use (default to 1) * idleTimeout: allow connections to expire after the given idle timeout (default to 30s) * blockIfSessionPoolIsFull: blocks if the pool is full when retrieving a session (default to true) * expiryTimeout: allow connections to expire, irrespective of load or idle time (default to 0, meaning no expiry) * poolFactory: the underlying ObjectPoolFactory to customize the pool itself (based on Apache Commons-Pool) ## XA connection pool In addition to the above settings, the XAPooledConnectionFactory has the following mandatory parameter: * transactionManager: the JTA TransactionManager to use and the following optional parameters: * xaConnectionFactory: an XAConnectionFactory which can be set if the XAConnectionFactory does not implement ConnectionFactory ## JCA connection pool To work with the Geronimo Transaction Manager and allow proper recovery, a specific connection pool should be used. In addition to the above settings, the JCAPooledConnectionFactory has the following mandatory paramter: * name: the name of the resource manager (used by the JTA transaction manager to detect if 2 phase commit must be used) The resource manager name has to uniquely identify the broker. To be able to start the recovery process, the [GenericResourceManager](https://github.com/fusesource/jmspool/blob/master/src/main/java/org/fusesource/jms/pool/GenericResourceManager.java) must be configured. # Examples ## Simple pool using blueprint ## JCA pool