[ 
https://issues.apache.org/jira/browse/JCR-1456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12750375#action_12750375
 ] 

Martijn Hendriks commented on JCR-1456:
---------------------------------------

I think that it is a good point to ask some feedback about the direction that 
the work on the sandbox branch is taking.

What has been done:
* A getDataSource method has been added to the ConnectionFactory which creates 
and returns a pooled datasource (commons-dbcp).
* Maven profiles and some infrastructure have been added which make running the 
automated tests against different DB backends easier.
* A DB uitility packages has been added: o.a.j.c.util.db. Classes from 
o.a.j.c.persistence.bundle.util have been moved there, and most importantly, it 
contains the ConnectionHelper class hierarchy. This hierarchy uses a DataSource 
provided by the Connectionfactory and provides a means to execute SQL and has 
specializations for several DB types. Most notably, the 
Oracle10R1ConnectionHelper implements special blob handling. It also contains a 
CheckSchemaOperation class which encapsulates the logic to check and create DB 
schemas (using a ConnectionHelper).
* The bundle PMs and the DB Filesystem classes have been refactored to use the 
ConnectionHelper and CheckSchemaOperation classes. The PM and FS classes serve 
as factories for ConnectionHelper and CheckSchemaOperation instances.

What must still be done:
* Refactor remaining db based packages to use the ConnectionHelper and 
CheckSchemaOperation. (journal, datastore, and maybe the non-bundle pms).
* Improve the implementation of Connectionfactory.getDataSource (now it creates 
a new DataSource for each invocation with default properties....)
* ....
* A lot of integration testing

So what do you think about the current direction?

> Database connection pooling
> ---------------------------
>
>                 Key: JCR-1456
>                 URL: https://issues.apache.org/jira/browse/JCR-1456
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>         Attachments: 777490.patch, dbcp.patch, dbcp.patch, patch-1456-1.txt, 
> patch-1456-2.txt, patch-1456-3.txt
>
>
> Jackrabbit should use database connection pools instead of a single 
> connection per persistence manager, cluster journal, or database data store.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to