+The lifecycle of any Jackrabbit Content Repository starts with a call to one of
+the RepositoryFactory.create() methods passing optionally the source
+of a repository configuration file (which by convention is called config.xml)
+and the RepositoryFactoryHome, which points to a directory from which the
+Repository will continue reading further information for start-up and in
+many cases will store the actual data that is persisted in the repository and
+its workspaces.
+

+

+Not supplying the RepositoryFactoryHome will default to the
+users home dir from the System property user.dir.
+

+

+Not supplying the configuration file parameter will default to the value of
+Repository.factory.config System Property and if that is not set
+it will default to the config.xml in the
+RepositoryFactoryHome.
+

+

+Calling the create() method will instantiate the
+RepositoryFactory singleton that will then, through the
+getRepository(String name) method, serve as the factory for
+Repository instances.
+

+

+As per the config.xml a repository are started up with the
+respectively configured RepositoryStore, the RepositoryStore
+defines where the repository stores information that is visible for the entire
+Repository which includes things like the uuid of the root node, repository
+properties, the namespace registry, node type definitions or the version
+backing store in a file structure as follows.
+

+The RepositoryStore normally points to a regular (i.e. local) file system but is abstracted through an abstract FileSystem that can be configured to point to a different FileSystem implementation, in case the above information should be stored in a different data container.
+