Class ConnectionResetter


  • public class ConnectionResetter
    extends java.lang.Object
    Responsible for resetting a Connection to its default state when it is returned to the pool. It must be initialised by the first Connection that is made (for each pool) so that we don't make any assumptions about what the default values are.
    Since:
    Proxool 0.5
    Version:
    $Revision: 1.16 $, $Date: 2006/01/18 14:40:01 $
    Author:
    Bill Horsman (bill@logicalcobwebs.co.uk), $Author: billhorsman $ (current maintainer)
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static java.lang.String MUTATOR_PREFIX
      We use this to guess if we are changing a property that will need resetting
      protected static boolean triggerResetException  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected ConnectionResetter​(org.apache.commons.logging.Log log, java.lang.String driverName)
      Pass in the log to use
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void initialise​(java.sql.Connection connection)
      This gets called every time we make a Connection.
      protected boolean reset​(java.sql.Connection connection, java.lang.String id)
      Reset this connection to its default values.
      protected static void setTriggerResetException​(boolean triggerResetException)
      Called by a unit test.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • MUTATOR_PREFIX

        protected static final java.lang.String MUTATOR_PREFIX
        We use this to guess if we are changing a property that will need resetting
        See Also:
        Constant Field Values
    • Constructor Detail

      • ConnectionResetter

        protected ConnectionResetter​(org.apache.commons.logging.Log log,
                                     java.lang.String driverName)
        Pass in the log to use
        Parameters:
        log - debug information sent here
    • Method Detail

      • initialise

        protected void initialise​(java.sql.Connection connection)
        This gets called every time we make a Connection. Not that often really, so it's ok to synchronize a bit.
        Parameters:
        connection - this will be used to get all the default values
      • reset

        protected boolean reset​(java.sql.Connection connection,
                                java.lang.String id)
        Reset this connection to its default values. If anything goes wrong, it is logged as a warning or info but it silently continues.
        Parameters:
        connection - to be reset
        id - used in log messages
        Returns:
        true if the reset was error free, or false if it encountered errors. (in which case it should probably not be reused)
      • setTriggerResetException

        protected static void setTriggerResetException​(boolean triggerResetException)
        Called by a unit test.
        Parameters:
        triggerResetException - true it we should trigger a pretend exception.
        See Also:
        isTriggerResetException()