This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Page tree
Skip to end of metadata
Go to start of metadata

Subprojects and components of Apache Excalibur

  • Framework (Avalon Framework)
  • Fortress (Container)
  • Components
    • Source Resolver
    • Store
    • Thread
    • XMLUtil
  • Cornerstone
    • connection
    • datasources
    • scheduler
    • sockets
    • store
    • threads
  • Containerkit
    • Instrument
    • Lifecycle
    • Logger
    • Logkit
  • Deprecated, see

Archive files and the packages they contain

The archive files (ZIP and tar) can be found on For illustration purposes, we use the source ZIP archives and list what packages they contain.

In some cases the namespace is inconsistent.

There is org.apache.avalon.fortress and org.apache.avalon.excalibur and org.apache.avalon.cornerstone
but then there is also org.apache.excalibur.

External distributions that are needed:

Other distributions may be needed as indicated. But if you don't need the particular part of Avalon/Excalibur that requires the distribution, no need to get it.

Avalon Framework

This seems to be the proverbial secret sauce. The Avalon Framework archive files can be found at by selecting any project for download and then moving up, then down the distribution tree.

See for more information.

Note the logging framework, org.apache.avalon.framework.logger. It declares the Logger interface through which a lot of classes of the framework and of Excalibur log. An instance of Logger is handed to a logging object through a call to
enableLogging(Logger logger). This is a callback approach to logging: instead of the logging object creating its own Logger
it is handed one and calls methods on it.

org.apache.avalon.framework.logger contains connectors to various logging frameworks: Apache Commons Logging, JDK 1.4 logging, Apache Log4J logging and Avalon LogKit logging.

    • org.apache.avalon.framework
    • org.apache.avalon.framework.activity
    • org.apache.avalon.framework.availability
    • org.apache.avalon.framework.component
    • org.apache.avalon.framework.configuration
    • org.apache.avalon.framework.context
    • org.apache.avalon.framework.logger
    • org.apache.avalon.framework.parameters
    • org.apache.avalon.framework.service
    • org.apache.avalon.framework.thread
    • org.apache.avalon.framework.test
    • org.apache.avalon.framework.component
    • org.apache.avalon.framework.configuration
    • org.apache.avalon.framework.container
    • org.apache.avalon.framework.context
    • org.apache.avalon.framework.logger
    • org.apache.avalon.framework.service
    • org.apache.avalon.framework.component.test
    • org.apache.avalon.framework.configuration.test
    • org.apache.avalon.framework.context.test
    • org.apache.avalon.framework.logger.test
    • org.apache.avalon.framework.parameters.test
    • org.apache.avalon.framework.service.test

Containers, excalibur-fortress

See and (the 'old' Avalon Wiki) for more info.

    • org.apache.avalon.fortress
    • org.apache.avalon.fortress.util.dag
    • org.apache.avalon.fortress.impl
    • org.apache.avalon.fortress.impl.extensions
    • org.apache.avalon.fortress.impl.factory (needs BCEL)
    • org.apache.avalon.fortress.impl.handler
    • org.apache.avalon.fortress.impl.lookup
    • org.apache.avalon.fortress.impl.role (troublesome in Java 1.5 as it uses a variable called enum, fix that code!)
    • org.apache.avalon.fortress.util (this does not compile as it tries to instantiate org.apache.excalibur.instrument.manager.DefaultInstrumentManager, which is an interface. Try to fix it by using DefaultInstrumentManagerImpl instead. Additionally, the class Service uses a variable called enum.)
    • org.apache.avalon.fortress.migration
    • (needs Codehaus qdox and qdox needs Apache Ant)
  • excalibur-fortress-examples-1.2-src.tar.gz
    • org.apache.avalon.fortress.examples

Containers, excalibur-component

This is the old "Excalibur Component Manager" (ECM), the ancestor of "Excalibur Fortress". Deprecated!! Use the "Excalibur Fortress" container instead.

    • org.apache.avalon.excalibur.component
    • org.apache.avalon.excalibur.component.servlet

Containerkit, excalibur-instrument

This part seems to fulfill a similar role to Sun's JMX (question)

    • org.apache.excalibur.instrument
    • org.apache.excalibur.instrument.test
    • org.apache.excalibur.instrument.manager
    • org.apache.excalibur.instrument.manager.impl
    • org.apache.excalibur.instrument.manager.http
    • org.apache.excalibur.instrument.manager.http.server
    • org.apache.excalibur.instrument.client
    • org.apache.excalibur.instrument.client.http

Containerkit, excalibur-lifecycle

See for more. This part seems to fulfill a similar role to Sun's JMX (question)

  • contains Accessor and Creator
    • org.apache.avalon.lifecycle
  • contains AbstractAccessor and AbstractCreator
    • org.apache.avalon.lifecycle

Containerkit, excalibur-logger

See for more. These are implementations similar to the ones in
org.apache.avalon.framework.logger but more complete and extended (question)

    • org.apache.avalon.excalibur.logger
    • org.apache.avalon.excalibur.logger.decorator
    • org.apache.avalon.excalibur.logger.factory
    • org.apache.avalon.excalibur.logger.log4j
    • org.apache.avalon.excalibur.logger.logkit
    • org.apache.avalon.excalibur.logger.util

Containerkit, excalibur-logkit

This is the 'Avalon Logkit', a possible logging implementation which has itself various possible logging targets.

  • or (older)
    • org.apache.log
    • org.apache.log.format
    • org.apache.log.output
    • org.apache.log.output.db logs to JDBC
    • logs to File
    • File logrotation
    • org.apache.log.output.lf5 logs to Log4J LogFactor5 Swing GUI
    • logs to a TCP socket, an UDP socket or a SMTP connection
    • org.apache.log.output.jms logs to JMS API
    • org.apache.log.util

Components, cornerstone-connection

Utility classes for handling and servicing TCP/IP connections.

    • org.apache.avalon.cornerstone.blocks.connection
    • contains AbstractHandlerFactory, AbstractService, DefaultHandlerFactory

Components, cornerstone-datasources

Utility classes for specifying data sources (e.g. JDBC datasources) through XML config files.

    • org.apache.avalon.cornerstone.blocks.datasources

Components, cornerstone-scheduler

Utility classes to perform cron-like and periodic scheduling of actions.

    • org.apache.avalon.cornerstone.blocks.scheduler

Components, cornerstone-sockets

Managing sockets (vanilla TCP sockets and TLS sockets).

    • org.apache.avalon.cornerstone.blocks.sockets

Components, cornerstone-store

Repository for serialized objects that can be retrieved by String key.

    • org.apache.avalon.cornerstone.blocks.masterstore
    • org.apache.avalon.cornerstone.blocks.masterstore.xml

Components, cornerstone-threads

Manage a set of ThreadPools.

    • org.apache.avalon.cornerstone.blocks.threads
    • org.apache.avalon.cornerstone.threads.tutorial

Components, excalibur-datasource

Management of various datasources (JDBC, Informix, J2EE). The testcases are subclassed from org.apache.avalon.excalibur.testcase.ExcaliburTestCase, which is deprecated.

    • org.apache.avalon.excalibur.datasource
    • org.apache.avalon.excalibur.datasource.cluster
    • org.apache.avalon.excalibur.datasource.ids
    • org.apache.avalon.excalibur.datasource.ids.test
    • org.apache.avalon.excalibur.datasource.test

Components, excalibur-event-api

Though indicated on, there are no such archive files. See excalibur-event

Components, excalibur-event

Event though there are 'version 2.1' archives of excalibur-event, the classes therein are deprecated ( and have been replaced by D-Haven Event ( and D-Haven Managed Pool ( Note to site maintainers: the URLs on to the D-Haven projects no longer work.

    • org.apache.excalibur.event
    • org.apache.excalibur.event.command
    • org.apache.excalibur.event.mpool
    • org.apache.excalibur.event.command
    • org.apache.excalibur.event.command.test
    • org.apache.excalibur.event.test
    • org.apache.excalibur.event.impl
    • org.apache.excalibur.mpool
    • org.apache.excalibur.mpool.test
    • org.apache.excalibur.util
    • org.apache.excalibur.util.test
    • org.apache.excalibur.util.system

Components, excalibur-monitor

These classes are used to actively monitor resources for changes.

    • org.apache.avalon.excalibur.monitor
    • org.apache.avalon.excalibur.monitor.impl
    • org.apache.avalon.excalibur.monitor.test

Components, excalibur-pool

Uses Doug Lea's concurrency classes EDU.oswego.cs.dl.util.concurrent and also deprecated classes from Apache Commons Collections.

    • org.apache.avalon.excalibur.pool
    • org.apache.avalon.excalibur.pool
    • org.apache.avalon.excalibur.pool.test
    • org.apache.avalon.excalibur.pool, contains InstrumentedResourceLimitingPool and ValidatedResourceLimitingPool

Components, excalibur-sourceresolve

A general approach to access data sources by URL. A source may yield an InputStream and a MIME Type and be based on arbitrary implementations. Makes me think of Sun's Java Activation Framework.

    • org.apache.excalibur.source
    • org.apache.excalibur.source.impl needs Apache Commons VFS (Virtual File System) and Apache Commons HttpClient
    • org.apache.excalibur.source.impl.validity
    • org.apache.excalibur.source.test

Components, excalibur-store

See for more.

The package uses classes from
com.coyotegulch.jisp, which no longer exists ( Jisp has been replaced by Itzam/Java (, "A Deliberately Portable Embedded Database Engine".

    • needs Coyotegulch JISP and Doug Lea's Concurrency Classes.

Components, excalibur-testcase

This package contains ExcaliburTestCase. a subclass of junit.framework.TestCase whose use is deprecated w/o replacement. Test cases found in other packages and archives may be based on ExcaliburTestCase.

    • org.apache.avalon.excalibur.testcase

Components, excalibur-thread

    • org.apache.excalibur.thread
    • org.apache.excalibur.thread.impl
    • org.apache.avalon.excalibur.thread.impl
    • org.apache.avalon.excalibur.thread.impl.test
    • org.apache.avalon.excalibur.thread.impl, contains InstrumentedResourceLimitingThreadPool

Components, excalibur-xmlutil

  • No labels