Package org.logicalcobwebs.proxool
Interface ConnectionListenerIF
-
- All Known Implementing Classes:
CompositeConnectionListener
public interface ConnectionListenerIF
You can listen to the lifecycle of a connection. Sometimes, you may want to perform a task when the connection is born or dies. Actually, the reason why we originally did this is now obsolete. But the code remains here just in case. You need toregister
your implementation with ProxoolFacade.String alias = "myPool"; ConnectionListenerIF myConnectionListener = new MyConnectionListener(); ProxoolFacade.
addConnectionListener
(alias, myConnectionListener);- Version:
- $Revision: 1.9 $, $Date: 2007/01/25 23:38:24 $
- Author:
- billhorsman, $Author: billhorsman $ (current maintainer)
-
-
Field Summary
Fields Modifier and Type Field Description static int
FATAL_SQL_EXCEPTION_DETECTED
We are killing a connection because aFATAL_SQL_EXCEPTION
has been detected.static int
HOUSE_KEEPER_TEST_FAIL
We are killing a connection because the routine house keeper test failedstatic int
MANUAL_EXPIRY
We are killing a connection because it's manually been expired (by something external to Proxool)static int
MAXIMUM_ACTIVE_TIME_EXPIRED
We are killing a connection because theMAXIMUM_ACTIVE_TIME
has been exceeded.static int
MAXIMUM_CONNECTION_LIFETIME_EXCEEDED
We are killing a connection because it'sMAXIMUM_CONNECTION_LIFETIME
has been exceeded.static int
RESET_FAIL
We are killing a connection because it couldn't bereset
after it was returned to the pool and we don't want to give it out again in an unknown state.static int
SHUTDOWN
We are killing a connection because Proxool is shutting downstatic int
VALIDATION_FAIL
We are killing a connection because it has not beenvalidated
.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
onBirth(java.sql.Connection connection)
Happens everytime we create a new connection.void
onDeath(java.sql.Connection connection, int reasonCode)
Happens just before we expire a connection.void
onExecute(java.lang.String command, long elapsedTime)
Happens after every successful execute.void
onFail(java.lang.String command, java.lang.Exception exception)
Happens everytime an exception was thrown during an execute method Note that the command is not fully implemented at this stage.
-
-
-
Field Detail
-
MAXIMUM_ACTIVE_TIME_EXPIRED
static final int MAXIMUM_ACTIVE_TIME_EXPIRED
We are killing a connection because theMAXIMUM_ACTIVE_TIME
has been exceeded.
-
MANUAL_EXPIRY
static final int MANUAL_EXPIRY
We are killing a connection because it's manually been expired (by something external to Proxool)
-
VALIDATION_FAIL
static final int VALIDATION_FAIL
We are killing a connection because it has not beenvalidated
.
-
SHUTDOWN
static final int SHUTDOWN
We are killing a connection because Proxool is shutting down
-
RESET_FAIL
static final int RESET_FAIL
We are killing a connection because it couldn't bereset
after it was returned to the pool and we don't want to give it out again in an unknown state.
-
HOUSE_KEEPER_TEST_FAIL
static final int HOUSE_KEEPER_TEST_FAIL
We are killing a connection because the routine house keeper test failed
-
MAXIMUM_CONNECTION_LIFETIME_EXCEEDED
static final int MAXIMUM_CONNECTION_LIFETIME_EXCEEDED
We are killing a connection because it'sMAXIMUM_CONNECTION_LIFETIME
has been exceeded.
-
FATAL_SQL_EXCEPTION_DETECTED
static final int FATAL_SQL_EXCEPTION_DETECTED
We are killing a connection because aFATAL_SQL_EXCEPTION
has been detected.
-
-
Method Detail
-
onBirth
void onBirth(java.sql.Connection connection) throws java.sql.SQLException
Happens everytime we create a new connection. You can use this to allocate resources to a connection that might be useful during the lifetime of the connection.- Parameters:
connection
- the connection that has just been created- Throws:
java.sql.SQLException
- if anything goes wrong (which will then be logged but ignored)
-
onDeath
void onDeath(java.sql.Connection connection, int reasonCode) throws java.sql.SQLException
Happens just before we expire a connection. You can use this to reclaim resources from a connection.- Parameters:
connection
- the connection that is about to expirereasonCode
-MAXIMUM_ACTIVE_TIME_EXPIRED
,HOUSE_KEEPER_TEST_FAIL
,FATAL_SQL_EXCEPTION_DETECTED
,MANUAL_EXPIRY
,MAXIMUM_CONNECTION_LIFETIME_EXCEEDED
,RESET_FAIL
,SHUTDOWN
, orVALIDATION_FAIL
- Throws:
java.sql.SQLException
- if anything goes wrong (which will then be logged but ignored)
-
onExecute
void onExecute(java.lang.String command, long elapsedTime)
Happens after every successful execute. Note that the command is not fully implemented at this stage. At some point it might represent the SQL that is sent to the database (or the procedure call that was used).- Parameters:
command
- what command was being executedelapsedTime
- how long the call took (in milliseconds)
-
onFail
void onFail(java.lang.String command, java.lang.Exception exception)
Happens everytime an exception was thrown during an execute method Note that the command is not fully implemented at this stage. At some point it might represent the SQL that is sent to the database (or the procedure call that was used).- Parameters:
command
- what command was being executedexception
- what exception was thrown
-
-