org.logicalcobwebs.proxool

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.
Version:
$Revision: 1.16 $, $Date: 2006/01/18 14:40:01 $
Authors:
Bill Horsman (bill@logicalcobwebs.co.uk)
$Author: billhorsman $ (current maintainer)
Since:
Proxool 0.5

Field Summary

protected static String
MUTATOR_PREFIX
We use this to guess if we are changing a property that will need resetting
protected static boolean
triggerResetException

Constructor Summary

ConnectionResetter(Log log, String driverName)
Pass in the log to use

Method Summary

protected void
initialise(Connection connection)
This gets called every time we make a Connection.
protected boolean
reset(Connection connection, String id)
Reset this connection to its default values.
protected static void
setTriggerResetException(boolean triggerResetException)
Called by a unit test.

Field Details

MUTATOR_PREFIX

protected static final String MUTATOR_PREFIX
We use this to guess if we are changing a property that will need resetting

triggerResetException

protected static boolean triggerResetException
See Also:
isTriggerResetException()

Constructor Details

ConnectionResetter

protected ConnectionResetter(Log log,
                             String driverName)
Pass in the log to use
Parameters:
log - debug information sent here

Method Details

initialise

protected void initialise(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(Connection connection,
                        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()