Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Configuration

Note

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.