2010/12/15 - Apache Excalibur has been retired.

For more information, please explore the Attic.


Due to a number of issues in ECM, not the least of which is a simplistic and convoluted design, it has been deprecated in favor of Fortress. Fortress has been designed with ECM users in mind, so it provides a number of goodies to make it easier to migrate forward. This project will be maintained for bug fixes only.


This project contains utilities for managing components. ECM is what we call an "avalon container", though it is somewhat different in architecture to newer developments like phoenix and fortress. Our intend is to someday completely replace ECM with fortress. In particular, this package contains the ExcaliburComponentManager, usually abbreviated to ECM.

Automated Component Management

The org.apache.avalon.excalibur.component package in Excalibur will allow you to manage components specified in a configuration file. The beauty of this approach is that the ComponentManagers and ComponentSelectors become the Container and automagically maintain your Component's lifecycle.

The Excalibur Component Management infrastructure uses a RoleManager to help your configuration files remain readable. All classes are instantiated using the current thread's ContextClassLoader--unless you pass a different one in the constructor.

The Developing with Avalon paper

ECM is well-documented in the Developing with Avalon whitepaper available here.