Persistence

Overview

Atoti Limits supports the ability to persist limit structures, limits, and incidents to an external database. This section describes how to work with persistent data in Atoti Limits.

info

Note that in these sections we will talk about “persistence” in the context of the Atoti datastore. The Atoti datastore is still an in-memory source, but the data it ingests is persisted in CSV files.

Terminology

We use the following terms in this section:

How it works

Atoti Limits provides a set of services that allow you to manage objects that exist within the application at runtime. These objects may be persisted in an external database. Atoti Limits makes no assumptions about the database being used and aims only to provide a connection to that database. Database management is the user’s responsibility.

As an illustration, please see the following: persistence overview

In the diagram above:

Atoti Limits datasources

Atoti Limits can be configured to connect to the following datasources:

The Limits application datasource

This datasource is used to store the tables for limit structures, limits, and incidents. It is defined using the property prefix limits.application.datasource.

The Limits workflow datasource

This datasource is used to store the tables required by the workflow-core module. It is defined using the property prefix application.datasource.

The Activiti datasource

This datasource is used to store the tables required by Activiti runtime. It is defined using the property prefix activiti.datasource.

The Activiti audit log datasource

This datasource is used to store the tables required by the Activiti audit log. It is defined using the property prefix audit-log.datasource.

Extending the persistence services

For more info on extending the persistence services, please see Adding Custom Persistence Services.