Skip to main content
This guide shows the steps to set up a content service. The recommended way to configure the content service is to use the Atoti Server Starter. Once it has been added to your project, a content service will automatically be created. The content service can then be configured by setting the relevant Spring properties. First, set the content service type to use as shown below. By default, an in-memory content service is used.
The following sections show additional configuration properties for each applicable type of content service.

Hibernate content service

To use a content service backed by a database:
  1. Make sure your database’s JDBC driver is available at runtime. This example uses an H2 database, so the following dependency needs to be added:
  2. Set atoti.server.content-service.enabled-type to hibernate.
  3. Use a configuration such as:
To use a different database, update the url and driver properties.

Remote content service

To use a remote content service:
  1. Set atoti.server.content-service.enabled-type to remote.
  2. Use a configuration such as:

Option 2: manual bean declaration

An alternative to using the Atoti Server Starter is for your Spring configuration to define the appropriate beans.

1. Create an IContentService

The first bean required is of type IContentService. IContentService.builder() can be used to create instances of IContentService. The following sections give examples for each content service type.

In-memory content service

Hibernate content service

To use database-level locks instead of Java locks, use the builder’s databaseLocks method:

Remote content service

2. Create an IActivePivotContentService

The second bean required is of type IActivePivotContentService and wraps the first bean. ActivePivotContentServiceBuilder can be used to create instances of IActivePivotContentService. One way to create this bean is shown in the example below.
In some cases such as when a single content service is used by multiple Atoti Servers, it may be useful to have each server use a different prefix. One way to define such a prefix is shown below. For more information, see here