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

Jukka Zitting commented on JCR-1456:
------------------------------------

Reviewing a 2000+ line patch isn't too easy. Could you split it to smaller 
pieces? Also, feel free to commit the incremental changes directly to the 
branch in the sandbox. That way we can better label, comment and discuss each 
step separately instead of syncing up only on aggregate patches.

On the proposed changes: Good stuff, thanks! We're definitely seeing good 
progress here.

The main concern I have is about the Context concept you're introducing. I see 
where you're coming, but I think there's a better way to do this. The "context" 
of a method call is the object on which the method is called. How about, 
instead of passing the Context objects around, we actually moved the recipient 
methods *into* the Context class?

The Context class would then become something like a generic DatabaseOperation 
base class that encapsulates the database Connection being used for that 
operation. Subclasses like LoadBundleOperation, SaveChangesOperation or 
CheckSchemaOperation could extend this base class with specific functionality 
that we currently have inside the PersistenceManager (and other) classes. 
Database-specific extensions can be handled as yet another subclasses like 
OracleCheckSchemaOperation and the PersistenceManager classes would simply act 
as factories of these Operation instances instead of actually implementing the 
database functionality.

WDYT?

> 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