Configuration
This is a draft document - it can be changed at any time by anyone.
Overview
The application framework will require a configuration file. The current XML files used to configure localization, logging, security, data source, and services can be combined into a single file.
The configuration implementation will support a configuration file that is located anywhere - by specifying the file location during application start-up.
Design Goals
- Single framework configuration file - located anywhere.
- Supports lazy-loading of the configuration file.
- Supports run-time reloading of the configuration file (via JMX).
- Thread-safe.
Basic Architecture
- Library: OFBiz Configuration
- Java package name: org.apache.ofbiz.foundation.config
Apache Commons Configuration was considered as the implementation library, but the Java objects it creates are not thread-safe. Thread-safe objects are a requirement because OFBiz is multi-threaded. Therefore, configuration will be implemented using a custom library - and that library design will be based on lessons learned from the OFBiz project.