Skip to main content
Atoti defines a set of properties for configuration. The mechanism for property handling in Atoti allows the usage of JVM arguments, system/environment properties, and external property files.

Atoti Server Properties

Properties used to configure Atoti starters are defined in PropertyNames class of each starter. Other properties are defined and documented in the ActiveViamProperty class. They correspond to the properties used to configure Atoti as well as other ActiveViam products.

System properties

Properties can be defined with JVM arguments and are defined using the -D argument when starting the JVM.

Environment variables

Properties can be defined with environment variables are defined in the environment where the Atoti Server is running.

Spring properties

Spring properties can be defined using property files or other means. They can be used to configure Spring or to override the value of an ActiveViamProperty by importing com.activeviam.springboot:atoti-server-starter in an Atoti project.
It is recommended to use one format to define these properties.
Projects using an Atoti starter enable virtual threads for HTTP request handling by default (spring.threads.virtual.enabled=true), so that health check probes are not starved when the server is under heavy load. Projects that assemble their Spring Boot application without an Atoti starter should set this property themselves to benefit from the same behavior.

The PropertyRegistry

The PropertyRegistry class contains the information about resolved properties and their current values. By default, Atoti Server provides the property handling mechanism that can use the following sources for Atoti properties:
  • Environment variables
  • System properties
  • Spring environment properties.

Accessing properties

The PropertyRegistry provides several methods to fetch properties:
  • Type-specific accessors with default fallback value: getString(), getInteger(), getLong(), getBoolean(), getDouble
  • Type-specific accessors with required value: getRequiredString(), getRequiredInteger(), getRequiredLong(), getRequiredBoolean(), getRequiredDouble(). When a requested property is not defined in the PropertyRegistry while calling these methods, an exception is thrown.

Setting properties

Once the Registry has been instantiated, you cannot dynamically reload registry properties from the Sources. To programmatically change Atoti Server Properties you must use the PropertyRegistry API.
The PropertyRegistry provides several methods to set properties:
  • Type-specific accessors with default fallback value: setString(), setInteger(), setLong(), setBoolean(), setDouble
  • clear() method to remove a property.

Order of resolution

List of Atoti properties

Atoti Server Starter Properties

Atoti AdminUI Starter Properties

Atoti UI Starter Properties

Atoti APM Starter Properties

Other Atoti Properties