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:
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.
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.
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
See http://excalibur.apache.org/fortress/ and http://wiki.apache.org/avalon/AvalonFortress (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
org.apache.avalon.fortress.tools
(needs Codehaus qdox and qdox needs Apache Ant)org.apache.avalon.fortress.examples
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
This part seems to fulfill a similar role to Sun's JMX
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
org.apache.excalibur.instrument.client.media
See http://excalibur.apache.org/lifecycle/ for more. This part seems to fulfill a similar role to Sun's JMX
Accessor
and Creator
org.apache.avalon.lifecycle
AbstractAccessor
and AbstractCreator
org.apache.avalon.lifecycle
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
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
This is the 'Avalon Logkit', a possible logging implementation which has itself various possible logging targets.
org.apache.log
org.apache.log.format
org.apache.log.output
org.apache.log.output.db
logs to JDBCorg.apache.log.output.io
logs to Fileorg.apache.log.output.io.rotate
File logrotationorg.apache.log.output.lf5
logs to Log4J LogFactor5 Swing GUIorg.apache.log.output.net
logs to a TCP socket, an UDP socket or a SMTP connectionorg.apache.log.output.jms
logs to JMS APIorg.apache.log.util
Utility classes for handling and servicing TCP/IP connections.
org.apache.avalon.cornerstone.services.connection
org.apache.avalon.cornerstone.blocks.connection
org.apache.avalon.cornerstone.services.connection
contains AbstractHandlerFactory
, AbstractService
, DefaultHandlerFactory
Utility classes for specifying data sources (e.g. JDBC datasources) through XML config files.
org.apache.avalon.cornerstone.services.datasources
org.apache.avalon.cornerstone.blocks.datasources
Utility classes to perform cron-like and periodic scheduling of actions.
org.apache.avalon.cornerstone.services.scheduler
org.apache.avalon.cornerstone.blocks.scheduler
Managing sockets (vanilla TCP sockets and TLS sockets).
org.apache.avalon.cornerstone.services.sockets
org.apache.avalon.cornerstone.blocks.sockets
Repository for serialized objects that can be retrieved by String key.
org.apache.avalon.cornerstone.services.store
org.apache.avalon.cornerstone.blocks.masterstore
org.apache.avalon.cornerstone.blocks.masterstore.xml
Manage a set of ThreadPools.
org.apache.avalon.cornerstone.services.threads
org.apache.avalon.cornerstone.blocks.threads
org.apache.avalon.cornerstone.threads.tutorial
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
Though indicated on http://excalibur.apache.org/download.cgi, there are no such archive files. See 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.
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
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
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
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 HttpClientorg.apache.excalibur.source.impl.validity
org.apache.excalibur.source.test
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".
org.apache.excalibur.store
org.apache.excalibur.store.impl
needs Coyotegulch JISP and Doug Lea's Concurrency Classes.
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
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
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