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

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

I've taken the liberty to take the next step: see revision 801659. I've 
replaced the DataSource field with a ConnectionHelper field, removed the 
Context from the method signatures and basically put the Context's state in the 
ConnectionHelper. I've also moved checkSchema and prepareSchemaObjectPrefix to 
the ConnectionHelper class. Database specific code is now contained in the 
ConnectionHelper class hierarchy and this hierarchy can be reused in other 
database dependent packages. The BundleDbPM's init method now calls a 
"createConnectionHelper" method which subclasses can override to use a 
specialized ConnectionHelper.

At least the following builds succeed:
* mvn clean integration-test  (Derby and local FS backend)
* mvn clean test -Puse-descriptor-overlay,mysql  (MySQL backend, ignoring 
GCTest failure)
* mvn clean test -Puse-descriptor-overlay,mssql  (MSSQL backend, ignoring 
GCTest failure)

Known open issues:
* The H2, Oracle and Postgres PMs are broken (I've made it compile by 
commenting code out)
* Make the pooling smarter (ConnectionFactory)
* Add pooling to other DB based packages: db fs, db journal, db datastore, 
regular db pms.
* blockOnConnectionLoss feature and retrying on failure strategy must be 
checked.

> 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