Overview
Atoti What-If configuration is managed through properties with theatoti.what-if prefix. These properties can be set in application.yml or application.properties.
Property reference
General properties
| Property | Type | Default | Description |
|---|---|---|---|
atoti.what-if.enable | boolean | true | Global toggle for all What-If features. Set to false to disable all What-If auto-configuration. |
Security properties
| Property | Type | Default | Description |
|---|---|---|---|
atoti.what-if.security.type | NONE, SPRING, CUSTOM | SPRING | The type of security manager to use. |
atoti.what-if.security.use-branch-permissions | boolean | true | Whether to use branch-level permissions. |
Security type options
| Value | Description |
|---|---|
SPRING | Uses Spring Security context for user authentication and authorization. |
NONE | No security checks are performed. All operations are allowed for all users. |
CUSTOM | Provide your own IDatabaseSimulationsSecurityManager bean. |
Distribution properties
| Property | Type | Default | Description |
|---|---|---|---|
atoti.what-if.distribution.enabled | boolean | false | Whether the application runs in distributed mode. |
atoti.what-if.distribution.query-node-name | String | "" | The name of the query node. Required when distribution is enabled. |
atoti.what-if.distribution.create-distributed-service | boolean | true | Whether to create the RestDistributedDatabaseService automatically. |
Configuration examples
Default configuration
No configuration is required for a standalone application with Spring Security:Disable security
Disable branch permissions
Distributed mode
Full configuration example
Required beans
The Spring Boot Starter requires two beans from your application:IDatabaseService
Provided by your Atoti Server application. This bean is used by the simulation engine to execute database operations. When distribution is enabled, aRestDistributedDatabaseService is automatically created to handle communication with data nodes. Set atoti.what-if.distribution.create-distributed-service to false if you want to provide your own distributed database service implementation.
IWhatIfPersistenceProperties
Provides Hibernate configuration for simulation persistence. The bean must return aMap<String, String> of Hibernate properties.
SessionFactory bean (named whatIfSessionFactory). If you need more control over SessionFactory configuration (such as adding interceptors or event listeners), you can override the whatIfSessionFactory bean directly. See How to customize auto-configured beans for details.
Full generated reference
The table below is generated from the@ConfigurationProperties Java sources at build time, so it is always in sync with the code. Use it as the authoritative reference when the curated tables above don’t cover a property.