Specific Services

Overview

The following three services implement the contract defined by ILimitsAppCrudService, but they focus on more specific components. These are the main services used for persisting data in Atoti Limits:

ILimitsAppDatastoreCrudService

The ILimitsAppDatastoreCrudService is an empty extension of the ILimitsAppCrudService interface that is specifically designed to work with an Atoti Datastore.

ILimitsAppJpaDatabaseCrudService

The ILimitsAppJpaDatabaseCrudService is an empty extension of the ILimitsAppCrudService interface that is specifically designed to work with a connected JPA Database.

IPreferredLimitsAppCrudService

This is the default implementation of ILimitsAppCrudService. It uses the combination of ILimitsAppDatastoreCrudService and ILimitsAppJpaDatabaseCrudService to provide a default implementation of the ILimitsAppCrudService interface. This means that changes made to managed objects will be propagated to both the Atoti Datastore and the relevant external databases.

No external database configured

If no external database is configured, the IPreferredLimitsAppCrudService will only interact with the Atoti Datastore. We do this by injecting a NoOp (“No Operation”) implementation of the ILimitsAppJpaDatabaseCrudService interface, namely NoOpLimitsAppJpaDatabaseCrudService. This means that changes made to managed objects will only be propagated to the Atoti Datastore.