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, persistence, and services can be combined into a single file.
The configuration implementation will support configuration files that are located external to the application framework but somewhere on the class path.
Design Goals
- Single framework configuration file - located anywhere on the class path.
- Supports lazy-loading of configuration files.
- Supports run-time reloading of configuration files.
- 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.