Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

The JcrXmlPersistenceIndexer listens to the repository generated JMS events to persist metadata in JCR/XML format to the file system. It implements the org.fcrepo.indexer.Indexer interface for the indexing functionalities, which consists of the methods to handle new/updated records and deleted records.

JCR/XML is a native data format that supported by Modeshape for backup and recovery. In the case of system failure that we need to recovery recover the system repository or share the metadata with other ogazations, we can use the persisted JCR/XML to serve this purpose.

Info

The JCR/XML is stored level by level under the configured directory fcrepo.jcrxml.storage , or (default to fcrepo4-jcrxml), one level folder for metadata and sub-containers in one folderof a Modeshape JCR container, and at this time it contains no binary values at this time.

Configuration

The indexer is configured using Spring that can be done using Java bean setter methods.  Here is a sample configuration fragment showing how to configure and use the JcrXmlPersistenceIndexer:

No Format
  <!-- jcr/xml persistence Indexer -->
  <bean id="jcrXmlPersist" class="org.fcrepo.indexer.persistence.JcrXmlPersistenceIndexer">
    <constructor-arg value="${fcrepo.jcrxml.storage:fcrepo4-jcrxml}" />
  </bean>
 
  <!-- Message MainDriven indexerPOJO class(MDP) that processesmanages events, gets RDF from the repository and calls the workersindividual indexers -->
  <bean id="indexerGroup" class="org.fcrepo.indexer.IndexerGroup">
    <constructor-arg name="repositoryURL" value="http://${fcrepo.host:localhost}:${fcrepo.port:8080}${fcrepo.context:/}rest" />
    <constructor-arg name="indexers">
      <set>
        ...
        <ref bean="jcrXmlPersist"/>
        ...
      </set>
    </constructor-arg>
    ...
  </bean>