jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Assigned: (JCR-65) ChainedPersistenceManager
Date Sat, 21 May 2005 07:15:53 GMT
     [ 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:
For more information on JIRA, see:

View raw message