ARender Web-UI - Spring Boot Configuration
Overview
ARender is built on Spring Boot and supports external library (connector) loading.
ARender Web-UI Spring Boot provides:
- Default internal configuration
- A dedicated
integratorprofile for controlled overrides - Support for both externalized configuration and connector-embedded configuration
This approach ensures predictable configuration resolution while maintaining separation between platform defaults and customer-specific customization.
Default Configuration Model
The application ships with internal configuration files application.properties and/or application.yml.
These files define:
- Infrastructure configuration
- Default Spring Boot behavior
- Base system properties required for correct startup
Integrator Profile Strategy
To allow safe overrides, ARender activates and includes a dedicated Spring profile:
spring.profiles.include=integrator
spring.profiles.active=integrator
This enables support for application-integrator.properties and application-integrator.yml.
The integrator profile:
- Loads in addition to the base configuration
- Overrides only explicitly redefined properties
- Preserves internal defaults for all other settings
This prevents conflicts that may occur when multiple application.properties files exist on the classpath.
Supported Override Mechanisms
External Configuration
Standalone
Place the application-integrator.properties (or YAML variant) file next to the ARender JAR file:
arondor-arender-hmi-springboot-{VERSION}.jar
application-integrator.properties
or
arondor-arender-hmi-springboot-{VERSION}.jar
application-integrator.yml
Spring Boot will automatically detect and load the integrator profile configuration.
Docker
Place the application-integrator.properties (or YAML variant) file at /home/arender/ in the arender-ui-springboot container through volume.
Connector-Embedded Configuration (Fat JAR)
Include one of the following files inside the connector JAR:
application-integrator.properties
or
application-integrator.yml
Because the integrator profile is active, Spring will load this configuration in addition to the default one.
Configuration Precedence Model
Spring Boot applies configuration sources according to a defined precedence hierarchy.
Higher sources override lower ones.
Precedence Order (Lowest → Highest)
- Internal
application.yml(inside of ARender JAR) - Internal
application.properties(inside of ARender JAR) - Internal
application-integrator.yml(inside of the connector JAR) - Internal
application-integrator.properties(inside of the connector JAR) - External
application.yml(outside of ARender JAR) - External
application.properties(outside of ARender JAR) - External
application-integrator.yml(outside of ARender JAR) - External
application-integrator.properties(outside of ARender JAR) - Environment variables
- JVM system properties (
-D) - Command-line arguments
Property Format Precedence
When both formats exist in the same location:
application.properties
application.yml
The .properties file takes precedence over .yml.
Example
application.yml
server:
port: 8080
application.properties
server.port=9090
Effective value:
server.port=9090
Configuration Resolution Diagram
High-Level View
+----------------------------+
| Command-line arguments |
+----------------------------+
↑
+----------------------------+
| JVM -D system properties |
+----------------------------+
↑
+----------------------------+
| Environment variables |
+----------------------------+
↑
+----------------------------+
| External integrator config |
+----------------------------+
↑
+----------------------------+
| External base config |
+----------------------------+
↑
+----------------------------+
| Internal integrator config |
+----------------------------+
↑
+----------------------------+
| Internal base config |
+----------------------------+
Higher blocks override lower blocks.
Summary
Use the integrator profile by creating application-integrator.properties or YAML variant in order to safely override configurations without interfering with core application stability.