XAPool - an XA Connection Pool
Description: XAPool is Another Pool!. This software allows to pool objects, JDBC connections and XA connections. It comes from Enhydra application server from Lutris. Now the project is hosted by the ObjectWeb consortium and managed by Experlog. Ce produit permet de pooler des connexions JDBC, des connexions XA, ou tout autre objet. Il est issu du serveur d'application Enhydra de la soci�t� Lutris. Aujourd'hui, le projet est h�berg� par le consortium Objectweb and dirig� par la soci�t� Experlog.
Keywords: xapool, xa, pool, transaction, xid, connectionpooldatasource, datasource, connection, pooledconnection, connectionhandle, preparedstatement, xadatasource, xaconnection, xacallablestatement, xaconnectionhandle, xapreparedstatement, xaconnectionpool, xastatefullconnection, xopen, opengroup, objectweb, jotm, jonas, experlog, java, servlet, JDBC, Driver, Unix, Linux, AIX, Windows NT, application server, enhydra, experlog, opensource, open source, EPL, poolhelper, poolkeeper, genericpool, xaresource, instandb, mysql, postgresql, oracle, classes12.zip, jdbcthreadfactory, sybase, statementcache, connector, rar, spi, cci

> # XAPool - XAPool is Another Pool ! current v1.3.1 - July 30, 2003 ::wiki:: Description: XAPool allows to pool objects, JDBC connections (see the example) and XA connections (see the example and here). It comes from Enhydra application server from Lutris. Now the project is hosted by the ObjectWeb consortium and managed by Experlog. It exports: - a DataSource (with a pool) which is a factory of PooledConnection, - a XADataSource (with a pool) which is a factory of XAConnection (connections that can be used in distributed transactions). XAPool has been successfully tested with MySQL, PostgreSQL, Oracle, SAPdb, MS SQL and InstantDB databases. We need contributions for other databases (about Informix and Sybase, we have the code, but not tested for the moment). The classic pool offers common and useful operations: - lifetime of objects - a common log writer - a minimum size - a maximum size - the possibility to setup a way to wait for objects when all objects are used - an object check level to verify object before returning to user - a garbage collection option - a common PoolHelper object, to create, verify and destroy object - objects are linked to a generation of objects when they are created Download: XAPool on Objectweb SourceForge NEW -> 1.3.1 XAPool source :xapool-1.3.1-src.tgz XAPool binary :xapool-1.3.1.tgz XAPool jar file :xapool.jar 1.3 XAPool source :xapool-1.3-src.tgz XAPool binary :xapool-1.3.tgz XAPool jar file :xapool.jar 1.2.2 XAPool source :xapool-1.2.2-src.tgz XAPool binary :xapool-1.2.2.tgz XAPool jar file :xapool.jar 1.2.1 XAPool source :xapool-1.2.1-src.tgz XAPool binary :xapool-1.2.1.tgz XAPool jar file :xapool.jar others XAPool source :xapool-1.2-src.tgz XAPool binary :xapool-1.1.tar.gz XAPool binary :xapool-1.0.tar.gz Mailing-list: subscribe to the public mailing-list on OWForge view archives of the public mailing-list Documentation: Presentation of XAPool(PDF) made for the Objectweb architecture meeting in July 2003. README.txt Javadoc API 1.3 Javadoc API 1.2 Javadoc API 1.1 Javadoc API 1.0 (the best documentation is the example part for the moment)
>     ChangeLog:
>     1.3.1:
>     ------
>     - added logging information
>     - changed Andy last name (sorry)
>     - made a lot of changes in jotmxapooltest by Andy
>     - added example HSQL config
>     - added sapdb example in spy.properties
>     - prepareStatement(String, int, int) was not getting associated
>       with the transaction
>     - get the last version of jotm (1.4.3)

>     1.3:
>     ----
>     - added comments in GenericPool
>     - added a lot of method comments
>     - fixed a bug with multithreaded process (was a regression)
>     - removed a wrong test, which made a bug, in XAConnection
>     - added 2 tests, a multithreaded test and a contribution from A. Zeneski
>     - added the last version of JOTM (1.4.3), and carol
>     - removed TraceTm uses with JOTM
>     - changed the XAPool way of log (log4j.properties)

>     1.2.2:
>     ------
>     - removed the limit for used objects inside the same transaction (limit was 100)
>     - fixed a bug in the XADataSource object, to check if the current connection
>       is not already in the freeConnection Vector (bug #319)
>     - fixed a bug when the pool size decreased and connection lifetime is
>       reached. This bug appears when the pool activity is not important, and
>       the number of used connections is lesser than the max size of the pool.
>     - switch to off the boolean status of the pool

>     1.2.1:
>     ------
>     - added a console appender to the log4j configuration file, to
>       log with the complete name (org.enhydra.jdbc.xapool)
>     - fixed a bug when using multiple connection inside
>       the same transaction
>     - changed the logger name xapool, and now use the complete name
>       org.enhydra.jdbc.xapool

>     1.2:
>     ----
>     - bug fixes in JNDI mechanism
>     - added logs with commons-logging
>     - added several examples

>     1.1:
>     ----
>     This version includes major changes, and correct a lot of bugs.
>     Main changes are:
>     - AutoCommit value is now saved before the begin of the
>       transaction and restored to the commit or rollback of the
>       transaction
>     - when no transaction is defined, and the AutoCommit flag sets
>       to false, when the user calls close() on the connection, the
>       connection is rollbacked
>     - fixed bug when the connection is opened before the begin
>       of the transaction and close after the commit or rollback
>       (connection enrolled a posteriori)
>     - fixed bugs in the cache prepared statement mechanism
>     - added commons logging to log inside XAPool
>     - added 5 more examples (tests) to demonstrate
>       the XAPool functionalities
Examples:(all examples are described here) GenericPool: use of the pool, just to show it is a classical pool Pool Datasource: a sample to use connection from a datasource XA Pool Datasource: to get connection which can be used in distributed transactions (this example comes from JOTM) MultipleConnection: demonstrate the use of multiple connections in the same transaction MultipleTransaction: one connection and multiple transaction FalseRollback: here no transaction, but a rollback on the connection close() SaveAutoCommit: save the state of the autocommit flag before the beginnig of the transaction and restore it after the commit or the rollback of the transaction SimpleStatement: test the Statement implementation MultiThreaded: test with 2 threads (contribution from Nicolas JULE) JotmXaPoolTest: stress test (contribution from Andy Zeneski) License: Enhydra Public License (EPL) Success stories ExperLOG embeddes XAPool in its e-commerce suite : ExperSHOP JOTM (Java Open Transaction Manager) uses XAPool as XA pool datasource XAPool is now integrated into JettyPlus from MortBay.org It's official, Ofbiz.org supports now the last version of XAPool, and Andy Zenesky becomes an XAPool Developper. Thanks for his work. Links: Advanced JDBC tutorial How to write a new driver wrapper for JOnAS ObjectWeb Source Forge ExperLOG.com javax.sql API XA Specification - OpenGroup.org To do list: to implement JCA (Java Connector Architecture) to validate with 2.0 JDBC driver to validate CallableStatement | Download Section Mailing List Documentation Change Log Examples License Links Success Stories To Do List http://www.enhydra.org http://www.objectweb.org http://debian-sf.objectweb.org XAPool downloads: August 2003: 198 downloads July 2003 : 130 downloads June 2003: 72 downloads May 2003: 36 downloads

[Last changes: August 26, 2003]