You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2005/05/21 09:15:53 UTC

[jira] Assigned: (JCR-65) ChainedPersistenceManager

     [ http://issues.apache.org/jira/browse/JCR-65?page=all ]

Jukka Zitting reassigned JCR-65:
--------------------------------

    Assign To: Jukka Zitting

> ChainedPersistenceManager
> -------------------------
>
>          Key: JCR-65
>          URL: http://issues.apache.org/jira/browse/JCR-65
>      Project: Jackrabbit
>         Type: New Feature
>     Reporter: Edgar Poce
>     Assignee: Jukka Zitting
>     Priority: Minor
>  Attachments: 05-03-15-chained-persistence.zip, uml-class.gif
>
> Overview
> The package contains the classes that provide chaining of Persistence Managers support through an implementation of the chain of responsibility pattern.
> The ChainedPersistenceManager class is the chain's external controller.
> The current implementation uses composition instead of inheritance. The concrete handlers (PersistenceManager) are private members instead of subclasses.
> For reading commands no evaluation is performed, the ChainedPersistenceManager returns the response of the first handler that finds the object.
> For writing commands, the PersistenceManagerHandler class delegates conditionally the persistence calls to the concrete implementation based on a custom evaluation.
> Custom PersistenceManagerEvaluator implementations can be set through configuration.
> Custom listeners can be added to the ChainedPersistenceManager class. It allows to perform custom operations on "after init" and "before close" events. 
> Warning
> This package should be used only in a couple of cases and none of them is the best practice.
>     * Sharing jcr data with others systems through a custom PersistenceManager
>     * Integrating a legacy system
> Reliability, integrity and performance of the PersistenceManager are *crucial* to the overall stability & performance of the repository. if e.g. the data that a PersistenceManager is based upon is allowed to change through external means the integrity of the repository would be at risk (think of referential integrity/ node references e.g.).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira