0
votes

Understanding so far:

PersistenceManager: Persistence Manager is a critical part of Jackrabbit that stores the nodes and properties.

DataStore: Data Store is used in conjunction with PersistenceManager to store large content.

FileSystem: FileSystem is a low-level abstraction, which is used by Persistence Manager (and a few other components such as Versioning)

Sources:

http://jackrabbit.apache.org/jcr/jackrabbit-configuration.html http://jackrabbit.apache.org/jcr/frequently-asked-questions.html http://wiki.apache.org/jackrabbit/PersistenceManagerFAQ http://wiki.apache.org/jackrabbit/DataStore

Questions:

  • Is the above understanding correct?

  • In production, the recommendation is to use database (such as MySQL) for jackrabbit metadata & small files along with bulk-store, resilient filesystem (such as S3) for large files. Configuration to be used for this:

    <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager"> ...

    <DataStore class="org.apache.jackrabbit.aws.ext.ds.S3DataStore"> ... (http://mvnrepository.com/artifact/org.apache.jackrabbit/jackrabbit-aws-ext)

    • Is this configuration right?
    • What should be the configuration for FileySystem?
  • Should the above configuration be in repository.xml or workspace.xml?

1
You asked too many questions in one. Better to see this link. wiki.apache.org/jackrabbit/…Dipendra Singh

1 Answers

0
votes

The understanding is correct! But i add some :

  • FileSystem is used to store configuration and other meta like : nodetype configuration, your namesapaces, versionnings
  • PersistenceManager store your nodes and properties
  • Datastore for storing large binary data

Your configuration must be in a repository.xml. In this file you can configure all of your workspace, so workspace.xml is generated from your repository.xml , no need to write a workspace.xml

For an example of a repository.xml , see this topic.