EclipseLink transactional data sources are externally managed if the connection pool is managed by a transaction service (such as an application server controlled transaction or a JTA transaction). A JTA managed data source or connection pool is commonly used in Java EE applications and normally required in EJB applications. Use an externally-managed connection pool as follows:
Configure the session to use an ExternalTransactionController
to integrate EclipseLink's unit of work with the external transaction service.
Use the external-transaction-control
option to specify the connection's login and inform EclipseLink that the connection is maintained by the external controller.
You may need to configure the EclipseLink read connection pool or sequence connection pool to use a non-JTA connection pool in order to avoid transactional overhead.