Repository Deployment Settings
Overview
This page describes how to configure and override context parameters for the Repository Servlet in Bloomreach Content. These parameters control repository initialization and can be set in the CMS application's web.xml or overridden using system properties at startup.
Servlet Context Parameters
The Repository Servlet initializes the Hippo Repository during servlet startup. By default, the servlet is declared in the CMS application's web.xml:
<servlet> <servlet-name>Repository</servlet-name> <servlet-class>org.hippoecm.repository.RepositoryServlet</servlet-class> <load-on-startup>4</load-on-startup> </servlet>
The servlet reads initialization parameters to determine repository startup behavior. If a parameter is not defined as a servlet initialization parameter, the servlet attempts to read it as a context initialization parameter. Most containers allow you to override context parameters using a deployment context descriptor. Overriding parameters at the context level is the recommended approach.
Example context parameters:
<context-param> <description>The location of the repository configuration file. Unless the location starts with file://, the location is retrieved from within the application package as resource. </description> <param-name>repository-config</param-name> <param-value>repository.xml</param-value> </context-param> <context-param> <description>The (relative) location where to store files</description> <param-name>repository-directory</param-name> <param-value>storage</param-value> </context-param> <context-param> <description>The address of the repository</description> <param-name>repository-address</param-name> <param-value>rmi://localhost:1099/hipporepository</param-value> </context-param>
You can override some of these parameters using system properties at startup.
Repository Descriptor Location
The repository configuration file defines most settings for a Hippo Repository instance. Set the location of this file using the repository-config context parameter. You can override this parameter with the repo.config system property.
- If the location string starts with
file:, the file is loaded from the absolute file system path. - If not, the file is loaded as a resource from the application classpath.
Repository Storage Directory Location
The repository storage directory contains database files, index files, and other persistent data. Set the location using the repository-directory context parameter, or override it with the repo.path system property.
- You can specify an absolute file system path or a path relative to the application user directory.
- By default, the repository uses a directory in the project's
targetdirectory during development. - This directory is removed when you run
mvn clean. - To avoid re-bootstrapping the repository after each build, set
repo.pathto a location outside the Maventargetdirectory.
Enable RMI
You can configure the repository to start an RMI server for remote access via the JCR 2.0 API by setting the start-remote-server context parameter to true.
Info: RMI and the related parameters (
repository-addressandstart-remote-server) are not supported as of version 17.0.0.
Remote Address
By default, the remoting service registers at localhost:1099. You can change this address using the repository-address context parameter.
Enable Bootstrap
When the repository starts for the first time, it does not contain any namespaces, nodetypes, configuration, or content. The repository must perform a bootstrap process to initialize these elements.
- The repository automatically bootstraps itself on first startup if it has not been bootstrapped before.
- On subsequent startups, bootstrapping is skipped by default.
- When upgrading your project or deploying a new version, enable bootstrap processing to update the repository with the latest configurations.
- Set the system property
repo.bootstrap=trueto enable bootstrap processing during startup.