Package org.logicalcobwebs.proxool

A Java SQL Driver that provides a connection pool wrapper around another Driver of your choice.

See:
          Description

Interface Summary
ConfigurationListenerIF Listens to any changes made to a definition.
ConnectionBuilderIF  
ConnectionInfoIF Provides information about an individual connection.
ConnectionListenerIF You can listen to the lifecycle of a connection.
ConnectionPoolDefinitionIF A full definition of everything to do with a connection.
ConnectionPoolStatisticsIF This provides real time information about the pool.
ConnectionValidatorIF  
HsqlConnectionIF Supports InjectableInterfaceTest
HsqlPreparedStatementIF Supports InjectableInterfaceTest
HsqlStatementIF Supports InjectableInterfaceTest
ProxoolConstants All constants here please.
ProxoolListenerIF Listener for global Proxool events.
ProxyConnectionIF Contains most of the functionality that we require to manipilate the connection.
StateListenerIF Monitors the state of the pool so you can see whether it is quiet, busy, overloaded, or down.
 

Class Summary
AbstractProxoolTest Provides common code for all Proxool tests
AbstractProxyStatement Contains most of the functionality that we require to manipilate the statement.
AllTests Run all tests
CompositeConfigurationListener A ConfigurationListenerIF that keeps a list of ConfigurationListenerIFs and notifies them in a thread safe manner.
CompositeConnectionListener A ConnectionListenerIF that keeps a list of ConnectionListenerIFs and notifies them in a thread safe manner.
CompositeProxoolListener A ProxoolListenerIF that keeps a list of ProxoolListenerIFs and notifies them in a thread safe manner.
CompositeStateListener A StateListenerIF that keeps a list of StateListenerIFs and notifies them in a thread safe manner.
ConfigurationListenerTest Test that registering a ConfigurationListenerIF with the ProxoolFacade works.
ConnectionInfo Implementation of ConnectionInfoIF.
ConnectionInfoTest Tests ProxoolFacade.getConnectionInfos(java.lang.String)
ConnectionListenerTest Test that registering a ConnectionListenerIF with the ProxoolFacade works.
ConnectionPool This is where most things happen.
ConnectionPoolDefinition This defines a connection pool: the URL to connect to the database, the delegate driver to use, and how the pool behaves.
ConnectionPoolManager  
ConnectionPoolTest Test ConnectionPool
ConnectionResetter Responsible for resetting a Connection to its default state when it is returned to the pool.
ConnectionResetterTest Test whether the ConnectionResetter works.
DefaultConnectionBuilder  
DefaultConnectionValidator  
DelegateConnectionTest Tests whether we have access to the delegate connection
DependencyCheck A minimal check to see what libraries we need to include with our binary distribution
DriverTest Tests ProxoolDriver
FatalSqlExceptionHelper Will wrap up exceptions in another exception which can be defined at runtime.
FatalSqlExceptionTest Test whether ProxyStatement works
FormatHelper Formats things as Strings
GlobalTest Provides a suite of all tests.
HibernateTest Tests that we are able to get a connection from Hibernate.
HouseKeeper Responisble for house keeping one pool
HouseKeeperController Schedules when to run the house keeper
HouseKeeperTest Test the house keeper in ConnectionPool
HouseKeeperThread Responsible for running sweep
HypersonicTest Very basic test to see if Hypersonic test database is working
InjectableInterfaceTest Tests whether we can inject a new interface into one of the proxy objects
KillTest Tests whether we can kill connections when we want to
ManyPoolsTest Test whether Proxool is happy to run lots of pools.
PerformanceTest Tests how fast Proxool is compared to the "perfect" pool, SimpoolAdapter.
PropertyTest Tests whether ConnectionPoolDefinition recognises properties properly
Prototyper Responsible for prototyping connections for all pools
PrototyperController Controls the prototypers
PrototyperTest Test the prototyper in ConnectionPool
PrototyperThread Responsible for running sweep.
ProxoolAdapter Provides Proxool connections to the ScriptFacade
ProxoolDataSource The Proxool DataSource implementation.
ProxoolDataSourceTest Tests the Proxool datasources.
ProxoolDriver This is the Proxool implementation of the java.sql.Driver interface.
ProxoolFacade This provides some nice-to-have features that can't be provided by the Driver implementation of java.sql.Driver.
ProxyConnection Manages a connection.
ProxyConnectionTest Test whether ProxyConnection works
ProxyDatabaseMetaData Delegates to a normal Coonection for everything but the close() method (when it puts itself back into the pool instead).
ProxyDatabaseMetaDataTest Test whether ProxyDatabaseMetaData works
ProxyFactory A central place to build proxy objects.
ProxyStatement Delegates to Statement for all calls.
ProxyStatementTest Test whether ProxyStatement works
RegistrationTest Test whether we can register and remove a pool in various ways
ResultMonitor Waits for a set of results to become true with timeout functionality
ShutdownHook This is instantiated statically by ProxoolFacade.
SimpoolAdapter This is the simplest pool you can get.
StateListenerTest Test that registering a ConfigurationListenerIF with the ProxoolFacade works.
StateResultMonitor A ResultMonitor specifically for State
TestConstants Some useful constants for testing.
TestHelper Helper for all tests
UpdateDefinitionTest Test that we can update the definition of a pool
Version Tells you the version.
VirtoolDriver This class acts as a virtual pool.
WrappedConnection Wraps up a ProxyConnection.
WrapperTest Tests whether we are wrapping up connections correctly.
 

Exception Summary
FatalRuntimeException A type of SQLException that has been defined as fatal.
FatalSQLException A type of SQLException that has been defined as fatal.
ProxoolException Proxool exception class that emulates the behaviour of the new cause facility in jdk 1.4.
 

Package org.logicalcobwebs.proxool Description

A Java SQL Driver that provides a connection pool wrapper around another Driver of your choice. Very simple to migrate existing code. Fully configurable. Fast, mature and robust. Transparently adds connection pooling to your existing JDBC driver.

I want to add some better documentation right here. But in the meantime you should find comprehensive information on our web site

The latest version of this code is available from Sourceforge.

The majority of the work on Proxool (as of May 2002) was funded by Telenor Media AS


Proxool's Licence

Copyright (c) 2002 - 2003 Proxool. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. All advertising materials mentioning features or use of this software must display the following acknowledgment:

"This product includes software developed by the Proxool project (The latest version is available at http://proxool.sourceforge.net/)."

4. The name "Proxool" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact bill@logicalcobwebs.co.uk.

5. Products derived from this software may not be called "Proxool" nor may "Proxool" appear in their names without prior written permission of the Proxool Project.

6. Redistributions of any form whatsoever must retain the following acknowledgment:

"This product includes software developed by the Proxool project (The latest version is available at http://proxool.sourceforge.net/)."

THIS SOFTWARE IS PROVIDED BY THE PROXOOL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PROXOOL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


This software consists of voluntary contributions made by many individuals on behalf of the Proxool Project. For more information on the Proxool Project please see The latest version is available at http://proxool.sourceforge.net.