jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Jackrabbit Wiki] Update of "PersistenceManagerFAQ" by ThomasMueller
Date Mon, 26 Nov 2007 11:16:42 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jackrabbit Wiki" for change notification.

The following page has been changed by ThomasMueller:
http://wiki.apache.org/jackrabbit/PersistenceManagerFAQ

------------------------------------------------------------------------------
  = Persistence Manager (PM) FAQ =
  
  === What is a Persistence Manager (PM)? ===
- The PM is an *internal* Jackrabbit component that handle the persistent storage of content
nodes and properties. Each workspace of a Jackrabbit content repository uses a separate persistence
manager to store the content in that workspace. Also the Jackrabbit version handler uses a
separate persistence manager. The PM sits at the very bottom layer in jackrabbits system architecture.

+ The PM is an *internal* Jackrabbit component that handle the persistent storage of content
nodes and properties. Each workspace of a Jackrabbit content repository uses a separate persistence
manager to store the content in that workspace. Also the Jackrabbit version handler uses a
separate persistence manager. 
+ 
+ The persistence manager implementations to use are configured using the `PersistenceManager`
+ configuration element within the `Workspace` configuration template (and the instantiated
workspace 
+ configuration files) and the `Versioning` configuration element. The layout of a `PersistenceManager`

+ configuration element is shown below.
+ 
+ {{{<PersistenceManager class="...">
+     <param name="...">...</param>
+     ...
+ </PersistenceManager>
+ }}}
+ 
+ The `class` attribute of the Persistence``Manager element contains the fully qualified class
name of the persistence manager implementation class. The class must implement the `org.apache.jackrabbit.core.persistence.PersistenceManager`
interface and have an empty default constructor. String properties can be assigned using the
`param` elements according to the Java``Bean conventions.
+ 
+ See also http://jackrabbit.apache.org/api-1/org/apache/jackrabbit/core/state/PersistenceManager.html
+ 
+ The PM sits at the very bottom layer in jackrabbits system architecture. 
  Reliability, integrity and performance of the PM are *crucial* to the overall stability
& performance of the repository. If e.g. the data that a PM 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.).
  
  === Which Persistence Manager is the fastest? ===
@@ -44, +61 @@

   * JDBC based; zero-deployment: schema is automatically created
   * atomic
   * fast
+  * http://jackrabbit.apache.org/api-1/org/apache/jackrabbit/core/persistence/db/SimpleDbPersistenceManager.html
  
  === BundleDbPersistenceManager (and subclasses thereof) ===
   * status: mature
   * JDBC based; zero-deployment: schema is automatically created
   * atomic
   * very fast if used with DataStore or BLOBStore 
+  * http://jackrabbit.apache.org/api-1/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.html
  
  === BundleFsPersistenceManager ===
   * status: mature
   * very fast if used with DataStore or BLOBStore
+  * http://jackrabbit.apache.org/api-1/org/apache/jackrabbit/core/persistence/bundle/BundleFsPersistenceManager.html
+ 
+ === InMemPersistenceManager ===
+  * status: mature
+  * for testing and small (read-only) workspaces 
+  * keeps all content in memory
+  * a custom binary serializer is optionally used to load and store the persistent state
during initialization and shutdown of the persistence manager.
+  * very fast
+  * http://jackrabbit.apache.org/api-1/org/apache/jackrabbit/core/persistence/mem/InMemPersistenceManager.html
  
  === ObjectPersistenceManager ===
   * status: obsolete, mature

Mime
View raw message