From a performance standpoint, connector connection pools are similar to JDBC connection pools. Follow all the recommendations in the previous section, Tuning JDBC Connection Pools
For example, consider a case where an Enterprise Information System (EIS) has a connection factory that supports local transactions with better performance than global transactions. If a resource from this EIS needs to be mixed with a resource coming from another resource manager, the default behavior forces the use of XA transactions, leading to lower performance. However, by changing the EIS’s connector connection pool to use LocalTransaction transaction support and leveraging the Last Agent Optimization feature previously described, you could leverage the better-performing EIS LocalTransaction implementation. For more information on LAO, see Configure JDBC Resources as One-Phase Commit Resources
In the Admin Console, specify transaction support when you create a new connector connection pool, and when you edit a connector connection pool at Resources > Connectors > Connector Connection Pools.
Also set transaction support using asadmin. For example, the following asadmin command could be used to create a connector connection pool “TESTPOOL” with the transaction-support as “LOCAL”.
asadmin> create-connector-connection-pool --raname sampleRA --connectiondefinition javax.resource.cci.ConnectionFactory -transactionsupport LocalTransaction TESTPOOL
You may be able to further improve performance by configuring four connection pool settings.
Validate Atmost Once: Reduces the number of validation requests by a connection. Specify the amount of time (in seconds), after which a connection is validated atmost once. Default value is 0 which means this property is not enabled.
Associate with Thread: Associates a connection with the thread. When the same thread is in need of a connection, it reuses the connection associated with it. This avoids the overhead of getting a connection from the pool. Values can be either true or false; default is false.
Lazy Connection Association: Lazily associates connections when an operation is performed on them. They are disassociated when the transaction is completed and a component method ends, which helps reuse of the physical connections. Default value is false.
Lazy Connection Enlistment: Enable this option to enlist a resource to the transaction only when it is actually used in a method.