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 calledenum
, fix that code!)org.apache.avalon.fortress.util
(this does not compile as it tries to instantiateorg.apache.excalibur.instrument.manager.DefaultInstrumentManager
, which is an interface. Try to fix it by usingDefaultInstrumentManagerImpl
instead. Additionally, the classService
uses a variable calledenum
.)
- 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
andCreator
org.apache.avalon.lifecycle
- excalibur-lifecycle-impl-2.1-src.zip contains
AbstractAccessor
andAbstractCreator
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 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
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
containsAbstractHandlerFactory
,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
, containsInstrumentedResourceLimitingPool
andValidatedResourceLimitingPool
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 HttpClientorg.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
, containsInstrumentedResourceLimitingThreadPool
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