##### Legend

- External Link
- Opens in a new window

## Intro

Commons Configuration provides a generic configuration interface which enables an application to read configuration data from a variety of sources. Commons Configuration provides typed access to single, and multi-valued configuration parameters as demonstrated by the following code:

    Double double = config.getDouble("number");
    Integer integer = config.getInteger("number");

Configuration parameters may be loaded from the following sources:

- Properties files
- XML documents
- Property list files (.plist)
- JNDI
- JDBC Datasource
- System properties
- Applet parameters
- Servlet parameters

Different configuration sources can be mixed using a `ConfigurationFactory` and a `CompositeConfiguration`. Additional sources of configuration parameters can be created by using custom configuration objects. This customization can be achieved by extending `AbstractConfiguration` or `AbstractFileConfiguration`.

The full Javadoc API documentation is available here.

## Latest Release

The latest release of Apache Jakarta Commons Configuration is available from here. It is also available from IBiblio. The Changes Report explains all of the changes and bug fixes that have been made.

## History

Commons Configuration started as code in Apache JServ. The JServ code was subsequently added to Jakarta Turbine. After Jakarta Turbine, this configuration interface moved to Jakarta Velocity and underwent various improvements. After Velocity, this code was introduced to the Jakarta Commons as `ExtendedProperties`. Configuration began life in the Commons as a Sandbox component, and was promoted to the Commons Proper in late 2003.

## Bugs

Bugs may be reported via the Bugzilla Management system. The following links may prove useful:

- Create a Bugzilla account
- Submit a bug report
- All open Configuration bugs
- All Configuration bugs