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
http://excalibur.apache.org/deprecation.html
Archive files and the packages they contain
The archive files (ZIP and tar) can be found on
http://excalibur.apache.org/download.cgi. 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:
Apache Commons Logging (
http://jakarta.apache.org/commons/logging/) Apache Commons Collections (
http://jakarta.apache.org/commons/collections/) Apache Log4J (
http://logging.apache.org/log4j/docs/) Apache Bytecode Engineering Library BCEL (
http://jakarta.apache.org/bcel/)
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
http://excalibur.apache.org/download.cgi by selecting any project for download and then moving up, then down the distribution tree.
See
http://excalibur.apache.org/framework/ 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.
avalon-framework-api-4.3-src.zip
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
avalon-framework-impl-4.3-src.zip
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
http://excalibur.apache.org/fortress/ and
http://wiki.apache.org/avalon/AvalonFortress (the 'old' Avalon Wiki) for more info.
excalibur-fortress-container-api-1.2-src.zip
org.apache.avalon.fortress
org.apache.avalon.fortress.util.dag
excalibur-fortress-container-impl-1.2-src.zip
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.)
excalibur-fortress-migration-1.2-src.zip
org.apache.avalon.fortress.migration
excalibur-fortress-meta-1.2-src.zip
org.apache.avalon.fortress.tools (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.
excalibur-component-2.1-src.zip
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 (?)
excalibur-instrument-api-2.1-src.zip
org.apache.excalibur.instrument
org.apache.excalibur.instrument.test
excalibur-instrument-mgr-api-2.1-src.zip
org.apache.excalibur.instrument.manager
excalibur-instrument-mgr-impl-2.1-src.zip
org.apache.excalibur.instrument.manager.impl
excalibur-instrument-mgr-http-2.1-src.zip
org.apache.excalibur.instrument.manager.http
org.apache.excalibur.instrument.manager.http.server
excalibur-instrument-client-2.1-src.zip
org.apache.excalibur.instrument.client
org.apache.excalibur.instrument.client.http
org.apache.excalibur.instrument.client.media
Containerkit, excalibur-lifecycle
See
http://excalibur.apache.org/lifecycle/ for more. This part seems to fulfill a similar role to Sun's JMX (?)
excalibur-lifecycle-api-2.1-src.zip contains Accessor and Creator
org.apache.avalon.lifecycle
excalibur-lifecycle-impl-2.1-src.zip contains AbstractAccessor and AbstractCreator
org.apache.avalon.lifecycle
Containerkit, excalibur-logger
See
http://excalibur.apache.org/logger.html for more. These are implementations similar to the ones in org.apache.avalon.framework.logger but more complete and extended (?)
excalibur-logger-2.1-src.zip
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.
avalon-logkit-2.1-src.zip or (older) excalibur-logkit-2.0.dev-0-src.zip
org.apache.log
org.apache.log.format
org.apache.log.output
org.apache.log.output.db logs to JDBC
org.apache.log.output.io logs to File
org.apache.log.output.io.rotate File logrotation
org.apache.log.output.lf5 logs to Log4J LogFactor5 Swing GUI
org.apache.log.output.net 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.
cornerstone-connection-api-2.1-src.zip
org.apache.avalon.cornerstone.services.connection
cornerstone-connection-impl-2.1-src.zip
org.apache.avalon.cornerstone.blocks.connection
org.apache.avalon.cornerstone.services.connection contains AbstractHandlerFactory, AbstractService, DefaultHandlerFactory
Components, cornerstone-datasources
Utility classes for specifying data sources (e.g. JDBC datasources) through XML config files.
cornerstone-datasources-api-2.1-src.zip
org.apache.avalon.cornerstone.services.datasources
cornerstone-datasources-impl-2.1-src.zip
org.apache.avalon.cornerstone.blocks.datasources
Components, cornerstone-scheduler
Utility classes to perform cron-like and periodic scheduling of actions.
cornerstone-scheduler-api-2.1-src.zip
org.apache.avalon.cornerstone.services.scheduler
cornerstone-scheduler-impl-2.1-src.zip
org.apache.avalon.cornerstone.blocks.scheduler
Components, cornerstone-sockets
Managing sockets (vanilla TCP sockets and TLS sockets).
cornerstone-sockets-api-2.1-src.zip
org.apache.avalon.cornerstone.services.sockets
cornerstone-sockets-impl-2.1-src.zip
org.apache.avalon.cornerstone.blocks.sockets
Components, cornerstone-store
Repository for serialized objects that can be retrieved by String key.
cornerstone-store-api-2.1-src.zip
org.apache.avalon.cornerstone.services.store
cornerstone-store-impl-2.1-src.zip
org.apache.avalon.cornerstone.blocks.masterstore
org.apache.avalon.cornerstone.blocks.masterstore.xml
Components, cornerstone-threads
Manage a set of ThreadPools.
cornerstone-threads-api-2.1-src.zip
org.apache.avalon.cornerstone.services.threads
cornerstone-threads-impl-2.1-src.zip
org.apache.avalon.cornerstone.blocks.threads
cornerstone-threads-tutorial-2.1-src.zip
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.
excalibur-datasource-2.1-src.zip
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
http://excalibur.apache.org/download.cgi, 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 (
http://excalibur.apache.org/deprecation.html) and have been replaced by D-Haven Event (
http://api.d-haven.org/event/) and D-Haven Managed Pool (
http://projects.d-haven.org/modules/mydownloads/singlefile.php?cid=5&lid=6) Note to site maintainers: the URLs on
http://excalibur.apache.org/deprecation.html to the D-Haven projects no longer work.
excalibur-event-api-2.1-src.zip
org.apache.excalibur.event
org.apache.excalibur.event.command
org.apache.excalibur.event.mpool
excalibur-event-impl-2.1-src.zip
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.
excalibur-monitor-2.1-src.zip
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.
excalibur-pool-api-2.1-src.zip
org.apache.avalon.excalibur.pool
excalibur-pool-impl-2.1-src.zip
org.apache.avalon.excalibur.pool
org.apache.avalon.excalibur.pool.test
excalibur-pool-instrumented-2.1-src.zip
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.
excalibur-sourceresolve-2.1-src.zip
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
http://excalibur.apache.org/store/ for more.
The org.apache.excalibur.store.impl package uses classes from com.coyotegulch.jisp, which no longer exists (
http://www.coyotegulch.com/products/jisp/). Jisp has been replaced by Itzam/Java (
http://www.coyotegulch.com/products/itzam/), "A Deliberately Portable Embedded Database Engine".
excalibur-store-2.1-src.zip
org.apache.excalibur.store
org.apache.excalibur.store.impl 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.
excalibur-testcase-2.1-src.zip
org.apache.avalon.excalibur.testcase
Components, excalibur-thread
excalibur-thread-api-2.1-src.zip
org.apache.excalibur.thread
excalibur-thread-impl-2.1-src.zip
org.apache.excalibur.thread.impl
org.apache.avalon.excalibur.thread.impl
org.apache.avalon.excalibur.thread.impl.test
excalibur-thread-instrumented-2.1-src.zip
org.apache.avalon.excalibur.thread.impl, contains InstrumentedResourceLimitingThreadPool
Components, excalibur-xmlutil
excalibur-xmlutil-2.1-src.zip
org.apache.excalibur.xml needs Apache XML Commons Resolver (see
http://xml.apache.org/commons/) org.apache.excalibur.xml.dom
org.apache.excalibur.xml.impl needs Apache XML Xerces (see
http://xerces.apache.org/) (Should this not just the Java JAXB API?) org.apache.excalibur.xml.sax needs W3C JTidy (see
http://jtidy.sourceforge.net/index.html) org.apache.excalibur.xml.xpath needs the Codehaus XPath Engine 'Jaxen' (see
http://jaxen.org/) and/or the SAXON XSLT and XQuery Processor (
http://saxon.sourceforge.net/) and/or the Apache XML Xalan XSLT processors (
http://xml.apache.org/xalan-j/) org.apache.excalibur.xml.xslt
org.apache.excalibur.xmlizer
org.apache.excalibur.xml.dom.test
org.apache.excalibur.xml.xpath.test