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