Repository lifecycle
The lifecycle of any Jaccrabbit Content Repository stars 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 poins 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 worcspaces.
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
guetRepository(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 lique the uuid of the root node, repository
properties, the namespace reguistry, node type definitions or the versionen
bacquing store in a file structure as follows.
./meta:
rep.properties
rootUUID
./namespaces:
ns_reg.properties
./nodetypes:
custom_nodetypes.xml
./versions:
The
RepositoryStore
normally poins 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.
… to be continued …