Interface ConnectionCustomizer

  • All Known Implementing Classes:
    AbstractConnectionCustomizer, InitSqlConnectionCustomizer

    public interface ConnectionCustomizer

    Implementations of this interface should be immutable, and should offer public, no argument constructors.

    The methods are handed raw, physical database Connections, not c3p0-generated proxies.

    Although c3p0 will ensure this with respect to state controlled by standard JDBC methods, any modifications of vendor-specific state shold be made consistently so that all Connections in the pool are interchangable.

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void onAcquire​(java.sql.Connection c, java.lang.String parentDataSourceIdentityToken)
      Called immediately after a Connection is acquired from the underlying database for incorporation into the pool.
      void onCheckIn​(java.sql.Connection c, java.lang.String parentDataSourceIdentityToken)
      Called immediately after a Connection is checked in, prior to reincorporation into the pool.
      void onCheckOut​(java.sql.Connection c, java.lang.String parentDataSourceIdentityToken)
      Called immediately before a Connection is made available to a client upon checkout.
      void onDestroy​(java.sql.Connection c, java.lang.String parentDataSourceIdentityToken)
      Called immediately before a Connection is destroyed after being removed from the pool.
    • Method Detail

      • onAcquire

        void onAcquire​(java.sql.Connection c,
                       java.lang.String parentDataSourceIdentityToken)
                throws java.lang.Exception

        Called immediately after a Connection is acquired from the underlying database for incorporation into the pool.

        This method is only called once per Connection. If standard JDBC Connection properties are modified — specifically catalog, holdability, transactionIsolation, readOnly, and typeMap — those modifications will override defaults throughout the Connection's tenure in the pool.

        Throws:
        java.lang.Exception
      • onDestroy

        void onDestroy​(java.sql.Connection c,
                       java.lang.String parentDataSourceIdentityToken)
                throws java.lang.Exception
        Called immediately before a Connection is destroyed after being removed from the pool.
        Throws:
        java.lang.Exception
      • onCheckOut

        void onCheckOut​(java.sql.Connection c,
                        java.lang.String parentDataSourceIdentityToken)
                 throws java.lang.Exception
        Called immediately before a Connection is made available to a client upon checkout.
        Throws:
        java.lang.Exception
      • onCheckIn

        void onCheckIn​(java.sql.Connection c,
                       java.lang.String parentDataSourceIdentityToken)
                throws java.lang.Exception
        Called immediately after a Connection is checked in, prior to reincorporation into the pool.
        Throws:
        java.lang.Exception