You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Martijn Hendriks (JIRA)" <ji...@apache.org> on 2009/09/02 12:32:32 UTC

[jira] Commented: (JCR-1456) Database connection pooling

    [ 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.