Enabling c3p0 Connection Pooling for Database

By default, Access Manager uses hibernate framework connection pooling to manage database connections for the external SQL database. It is recommended to use c3p0 connection pooling to enhance Access Manager login performance. It is an easy-to-use library for augmenting traditional JDBC drivers. Using c3p0 connection pooling enhances performance and scalability.

Perform the following steps to enable c3p0 connection pooling.

  1. Download the following connection pool libraries from Maven Repository:

  2. Add the connection pool libraries to Identity Server in the following location using Advanced File Configurator:

    /opt/novell/rba-core/lib/webapp/WEB-INF/lib/

    For information about how to add a file, see Adding Configurations to a Cluster. While adding files, ensure that Restart Identity Server After Configuration Change is enabled.

  3. (Optional) To change the default parameters, perform the following steps:

    1. Create a configuration file and specify the custom parameters.

    2. Specify the configuration file location in Identity Server’s tomcat.conf file as a Java Virtual Machine system property in the following format:

      For information about how to modify a file, see Modifying Configurations.

      JAVA_OPTS="${JAVA_OPTS} -Dcom.microfocus.risk.history.hibernate.properties.file=<location of the configuration file>

      NOTE:Access Manager uses c3p0 libraries for connection pooling with the following default parameters:

        hibernate.c3p0.testConnectionOnCheckout : true
        hibernate.c3p0.max_statements : 100
        hibernate.c3p0.max_size : 100
        hibernate.c3p0.validate : true
        hibernate.c3p0.idle_test_period : 3000
        hibernate.c3p0.min_size : 20

      For information, see c3p0 - JDBC3 Connection and Statement Pooling.