Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Creating an Internal Connection Pool (ELUG)

Elug draft icon.png For the latest EclipseLink documentation, please see http://www.eclipse.org/eclipselink/documentation/


For information, see Internal Connection Pools.


Introduction to the Internal Connection Pool Creation

You can create internal connection pools only for server sessions (not for any other session type, including database sessions). For more information, see Creating an Internal Connection Pool.

After you create an internal connection pool, you must configure its various options.

After you create and configure a sequence connection pool, EclipseLink uses it whenever it needs to assign an identifier to a new object.

After you create and configure a named connection pool, you use it in your application by passing in a ConnectionPolicy when you acquire a client session (see How to Acquire a Client Session that Uses a Named Connection Pool).


Creating an Internal Connection Pool

You can create an internal connection pool using the Workbench (see How to Create an Internal Connection Pool Using Workbench) or Java code. We recommend that you use the Workbench to create and manage your internal connection pools.

Alternatively, you can create internal connection pools in Java. For more information on creating sessions in Java, see the EclipseLink API Reference.


How to Create an Internal Connection Pool Using Workbench

Before you create a connection pool, you must first create a server session (see Creating a Server Session).

To create a new EclipseLink internal connection pool, use this procedure:

  1. Select the server session in the Navigator in which you want to create a connection pool.
  2. Create New Sequence Connection Pool button Click the appropriate button on the toolbar to create the type of connection pool you want:
    • To create a named connection pool, select Create a New Named Connection Pool, enter a name, and click OK.
    • To create a sequence connection pool, select Add the Sequence Connection Pool.
    • To create a write connection pool, select Add the Write Connection Pool.

You can also create a new internal connection pool by right-clicking the server session configuration in the Navigator and selecting New > Named Connection Pool, Sequence Connection Pool, or Write Connection Pool from the context menu.


How to Create an Internal Connection Pool Using Java

Using Java, you can create read, write, and named connection pools. The Creating Connection Pools example shows how to create connection pools. The Using a Single Pool for Read and Write example shows an optimized connection pool, using the same connetion for both read and write operations.

Creating Connection Pools

// Read
ConnectionPool pool = new ConnectionPool();
pool.setName("read");
pool.setLogin(login);
pool.setMaxNumberOfConnections(50);
pool.setMinNumberOfConnections(50);
serverSession.setReadConnectionPool(pool);

// Write
ConnectionPool pool = new ConnectionPool();
pool.setName("default");
pool.setLogin(login);
pool.setMaxNumberOfConnections(50);
pool.setMinNumberOfConnections(50);
serverSession.addConnectionPool(pool);

// Named
ConnectionPool pool = new ConnectionPool();
pool.setName("admin");
pool.setLogin(login);
pool.setMaxNumberOfConnections(2);
pool.setMinNumberOfConnections(2);
serverSession.addConnectionPool(pool);


You can also use a single connection pools for both read and write operations, when the read and write pools use the same login information. This method requires fewer connections

Using a Single Pool for Read and Write

ConnectionPool pool = new ConnectionPool();
pool.setName("default");
pool.setLogin(login);
pool.setMaxNumberOfConnections(50);
pool.setMinNumberOfConnections(50);
serverSession.setReadConnectionPool(pool);
serverSession.addConnectionPool(pool);



Copyright Statement

Copyright © Eclipse Foundation, Inc. All Rights Reserved.