jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Edgar Poce (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-65) ChainedPersistenceManager
Date Sat, 02 Apr 2005 08:02:16 GMT
     [ http://issues.apache.org/jira/browse/JCR-65?page=comments#action_62026 ]
     
Edgar Poce commented on JCR-65:
-------------------------------

After many conversations with the dev team about persistence manager responsibilities I feel
more in favor of non smart implementations. 
Now I see the chained persistence manager like a home made workaround and I think it should
be discarded.
Nevertheless, I like the idea of legacy system integration, which was the motivation of this
implementation. 
I think that a framework for integrating legacy systems could be very useful.

> ChainedPersistenceManager
> -------------------------
>
>          Key: JCR-65
>          URL: http://issues.apache.org/jira/browse/JCR-65
>      Project: Jackrabbit
>         Type: New Feature
>     Reporter: Edgar Poce
>     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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Mime
View raw message