Connection Pooling Configuration - OpenIdentityPlatform/OpenICF GitHub Wiki

Certain connectors support the ability to be pooled. For a pooled connector, OpenICF maintains a pool of connector instances and reuses these instances for multiple provisioning and reconciliation operations. When an operation must be executed, an existing connector instance is taken from the connector pool. If no connector instance exists, a new instance is initialized. When the operation has been executed, the connector instance is released back into the connector pool, ready to be used for a subsequent operation.

For an unpooled connector, a new connector instance is initialized for every operation. When the operation has been executed, OpenICF disposes of the connector instance.

Because the initialization of a connector is an expensive operation, reducing the number of connector initializations can substantially improve performance.

To configure connection pooling, set the following values in the connector configuration file poolConfigOptions property:

maxObjects

the maximum number of connector instances in the pool (both idle and active). The default value is 10 instances.

maxIdle

the maximum number of idle connector instances in the pool. The default value is 10 idle instances.

maxWait

the maximum period to wait for a free connector instance to become available before failing. The default period is 150000 milliseconds, or 15 seconds.

minEvictableIdleTimeMillis

the minimum period to wait before evicting an idle connector instance from the pool. The default period is 120000 milliseconds, or 12 seconds.

minIdle

the minimum number of idle connector instances in the pool. The default value is 1 instance.