Hi all,

The sandbox branch for JCR 1456 
(https://svn.apache.org/repos/asf/jackrabbit/sandbox/JCR-1456) now contains an 
almost complete implementation for connection pooling. Quite some changes have 
been made and the following are the most important ones:

* A o.a.j.c.util.db package has been added that contains common DB code (some 
common classes have been moved here from the o.a.j.c.persistence.bundle.util 
package). The ConnectionHelper hierarchy contains functionality to execute SQL 
statements using a given DataSource. The CheckSchemaOperation class uses a 
ConnectionHelper and encapsulates the logic to check and create schemas.
* The ConnectionFactory class contains a registry of JNDI/commons-dbcp 
DataSources.
* The DB dependent classes (Bundle PMs, DatabaseJournal, DbDataStore, 
DbFileSystem etc) have been refactored to retrieve a (pooling) DataSource from 
the Connectionfactory and to use ConnectionHelper and CheckSchemaOperation 
instances which use the retrieved DataSource. 
* Configuration: see the repository and workspace descriptors in 
jackrabbit-core/src/test/repository-descriptor-overlay. You can define a list 
of repository-global DataSources which you can use in the configuration of the 
DB classes, e.g. the OracleFileSystem (this is just an example of how it could 
look).

Open points that I can think of are:
* We must discuss how the configuration should work.
* The ConnectionFactory class must be refactored such that each RepositoryImpl 
has its own instance.
* Integration testing. So far the automated tests have been run against MySQL 
5.0, MSSQL server 2005 and Oracle 10g XE but I think we need more coverage.

Your feedback on the current state is much appreciated!

Best regards,
Martijn

--

Martijn Hendriks
<GX> creative online development B.V.
 
t: 024 - 3888 261
f: 024 - 3888 621
e: [email protected]
 
Wijchenseweg 111
6538 SW Nijmegen
http://www.gx.nl/ 


Reply via email to