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
|