You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ha...@apache.org on 2002/04/05 17:11:56 UTC
cvs commit: jakarta-avalon-site/docs/excalibur/zip index.html
hammant 02/04/05 07:11:56
Modified: docs/excalibur changes.html index.html
Added: docs/excalibur/altrmi/api index.html.xml
docs/excalibur/altrmi client-usage.html
connection-listeners.html facades.html
generating-proxies.html index.html
otherfeatures.html pingers.html publishing.html
transports.html
docs/excalibur/altrmi/images add.jpg facades.jpg fix.jpg
header.gif jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/baxter/api index.html.xml
docs/excalibur/baxter/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/baxter index.html
docs/excalibur/bzip2/api index.html.xml
docs/excalibur/bzip2/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/bzip2 index.html
docs/excalibur/cache/api index.html.xml
docs/excalibur/cache/images add.jpg cache.png fix.jpg
header.gif jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/cache index.html
docs/excalibur/cli index.html
docs/excalibur/collections/api index.html.xml
docs/excalibur/collections/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/collections index.html
docs/excalibur/command/api index.html.xml
docs/excalibur/command/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/command index.html
docs/excalibur/component/api index.html.xml
docs/excalibur/component/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/component index.html
docs/excalibur/concurrent/api index.html.xml
docs/excalibur/concurrent/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/concurrent index.html
docs/excalibur/datasource/api index.html.xml
docs/excalibur/datasource examples-jdbcdatasource.html
index.html
docs/excalibur/datasource/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/event/api index.html.xml
docs/excalibur/event/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/event index.html
docs/excalibur/extension/api index.html.xml
docs/excalibur/extension/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/extension index.html
docs/excalibur/il8n/api index.html.xml
docs/excalibur/il8n/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/il8n index.html
docs/excalibur/io index.html
docs/excalibur/lang index.html
docs/excalibur/logger index.html
docs/excalibur/naming/api index.html.xml
docs/excalibur/naming/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/naming index.html
docs/excalibur/pool/api index.html.xml
docs/excalibur/pool/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/pool index.html
docs/excalibur/property/api index.html.xml
docs/excalibur/property/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/property index.html
docs/excalibur/proxy/api index.html.xml
docs/excalibur/proxy/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/proxy index.html
docs/excalibur/source/api index.html.xml
docs/excalibur/source/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/source index.html
docs/excalibur/tar/api index.html.xml
docs/excalibur/tar/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/tar index.html
docs/excalibur/testcase/api index.html.xml
docs/excalibur/testcase/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/testcase index.html
docs/excalibur/thread/api index.html.xml
docs/excalibur/thread/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/thread index.html
docs/excalibur/util/api index.html.xml
docs/excalibur/util/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/util index.html
docs/excalibur/xmlbundle/api index.html.xml
docs/excalibur/xmlbundle/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/xmlbundle index.html
docs/excalibur/zip/api index.html.xml
docs/excalibur/zip/images add.jpg fix.jpg header.gif
jakarta-logo.gif remove.jpg update.jpg
docs/excalibur/zip index.html
Log:
interim cut of excalibur site docs
Revision Changes Path
1.15 +56 -49 jakarta-avalon-site/docs/excalibur/changes.html
Index: changes.html
===================================================================
RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/changes.html,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- changes.html 26 Feb 2002 08:17:19 -0000 1.14
+++ changes.html 5 Apr 2002 15:11:45 -0000 1.15
@@ -21,10 +21,7 @@
<font face="arial,helvetica,sanserif">
<br>
<br>
-<a href=""><font size="+1" color="#F3510C">Jakarta main</font></a>
-<br>
-<br>
-<a href="../index.html"><font size="+1" color="#F3510C">Avalon main</font></a>
+<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
@@ -40,92 +37,100 @@
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/excalibur"><font size="-1">Download</font></a>
</li>
-<li>
-<a href="http://jakarta.apache.org/avalon/excalibur/api/index.html"><font size="-1">API Docs</font></a>
-</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Released Components</font>
+<font size="+1" color="#000000">Sub Projects</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="cli.html"><font size="-1">Command-Line Inspection</font></a>
+<a href="altrmi/index.html"><font size="-1">AltRMI</font></a>
</li>
<li>
-<a href="collections.html"><font size="-1">Collections</font></a>
+<a href="bzip2/index.html"><font size="-1">BZip2</font></a>
</li>
<li>
-<a href="component.html"><font size="-1">Component Utilities</font></a>
+<a href="baxter/index.html"><font size="-1">Baxter</font></a>
</li>
<li>
-<a href="concurrent.html"><font size="-1">Concurrent Threading</font></a>
+<a href="cli/index.html"><font size="-1">CLI</font></a>
</li>
<li>
-<a href="datasource.html"><font size="-1">DataSource Management</font></a>
+<a href="cache/index.html"><font size="-1">Cache</font></a>
</li>
<li>
-<a href="i18n.html"><font size="-1">Internationalization</font></a>
+<a href="collections/index.html"><font size="-1">Collections</font></a>
</li>
<li>
-<a href="io.html"><font size="-1">IO Utilities</font></a>
+<a href="command/index.html"><font size="-1">Command</font></a>
</li>
<li>
-<a href="logger.html"><font size="-1">LogKit Management</font></a>
+<a href="component/index.html"><font size="-1">Component</font></a>
</li>
<li>
-<a href="monitor.html"><font size="-1">Resource Monitoring</font></a>
+<a href="concurrent/index.html"><font size="-1">Concurrent</font></a>
</li>
<li>
-<a href="pool.html"><font size="-1">Pooling Support</font></a>
+<a href="datasource/index.html"><font size="-1">DataSource</font></a>
</li>
<li>
-<a href="property.html"><font size="-1">Property Utilities</font></a>
+<a href="event/index.html"><font size="-1">Event</font></a>
</li>
<li>
-<a href="proxy.html"><font size="-1">Proxy Implementation</font></a>
+<a href="extension/index.html"><font size="-1">Extension</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Components under Development</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="cache.html"><font size="-1">Cache Support</font></a>
+<a href="fortress/index.html"><font size="-1">Fortress</font></a>
</li>
<li>
-<a href="container.html"><font size="-1">Container Management</font></a>
+<a href="io/index.html"><font size="-1">I/O</font></a>
</li>
<li>
-<a href="extension.html"><font size="-1">Optional Package Management</font></a>
+<a href="il8n/index.html"><font size="-1">Internationalization</font></a>
</li>
<li>
-<a href="xmlbundle.html"><font size="-1">XML Resource Bundle</font></a>
+<a href="lang/index.html"><font size="-1">Lang</font></a>
</li>
<li>
-<a href="pipeline.html"><font size="-1">Piplining Support</font></a>
+<a href="logger/index.html"><font size="-1">Logger</font></a>
</li>
<li>
-<a href="thread.html"><font size="-1">Thread Pool Management</font></a>
+<a href="monitor/index.html"><font size="-1">Monitor</font></a>
</li>
<li>
-<a href="source.html"><font size="-1">Source Resolving</font></a>
+<a href="naming/index.html"><font size="-1">Naming</font></a>
+</li>
+<li>
+<a href="pool/index.html"><font size="-1">Pool</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Example Applications</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="examples-jdbcdatasource.html"><font size="-1">JDBC Data Source</font></a>
+<a href="property"><font size="-1">Property Utils</font></a>
+</li>
+<li>
+<a href="proxy/index.html"><font size="-1">Proxy</font></a>
+</li>
+<li>
+<a href="source/index.html"><font size="-1">Source Resolver</font></a>
+</li>
+<li>
+<a href="tar/index.html"><font size="-1">TAR</font></a>
+</li>
+<li>
+<a href="testcase/index.html"><font size="-1">Testcase</font></a>
+</li>
+<li>
+<a href="thread/index.html"><font size="-1">Thread</font></a>
+</li>
+<li>
+<a href="util/index.html"><font size="-1">Util</font></a>
+</li>
+<li>
+<a href="xmlbundle/index.html"><font size="-1">XMLBundle</font></a>
+</li>
+<li>
+<a href="zip/index.html"><font size="-1">ZIP</font></a>
</li>
</ul>
</font>
@@ -134,14 +139,12 @@
</font></td><td align="left" valign="top" width="*">
<title>Revision History</title>
<center>
-<table width="80%">
+<table width="100%">
<tr>
-<td bgcolor="#F3DD61">
-<br>
+<td bgcolor="#99aabb">
<center>
-<b><font face="arial,helvetica,sanserif" color="#000000">Revision History</font></b>
+<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Revision History</font></b>
</center>
-<br>
</td>
</tr>
</table>
@@ -163,6 +166,10 @@
Added XML Parser role and implementation, EntityResolver role and
some misc. XML support (from Cocoon).
(CZ)</li>
+<li>
+<img src="images/add.jpg" border="0" alt="added" align="absmiddle">
+ Broken Excalibur from single jar into multiple smaller jars.
+ (Whole Team)</li>
</ul>
</font></td>
</tr>
1.12 +118 -54 jakarta-avalon-site/docs/excalibur/index.html
Index: index.html
===================================================================
RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/index.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- index.html 26 Feb 2002 08:17:19 -0000 1.11
+++ index.html 5 Apr 2002 15:11:45 -0000 1.12
@@ -1,7 +1,7 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Avalon Excalibur</title>
+<title>Excalibur - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
@@ -21,10 +21,7 @@
<font face="arial,helvetica,sanserif">
<br>
<br>
-<a href=""><font size="+1" color="#F3510C">Jakarta main</font></a>
-<br>
-<br>
-<a href="../index.html"><font size="+1" color="#F3510C">Avalon main</font></a>
+<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
@@ -40,123 +37,157 @@
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/excalibur"><font size="-1">Download</font></a>
</li>
-<li>
-<a href="http://jakarta.apache.org/avalon/excalibur/api/index.html"><font size="-1">API Docs</font></a>
-</li>
</ul>
</font>
<br>
<br>
-<font size="+1" color="#000000">Released Components</font>
+<font size="+1" color="#000000">Sub Projects</font>
<br>
<font size="-1">
<ul>
<li>
-<a href="cli.html"><font size="-1">Command-Line Inspection</font></a>
+<a href="altrmi/index.html"><font size="-1">AltRMI</font></a>
</li>
<li>
-<a href="collections.html"><font size="-1">Collections</font></a>
+<a href="bzip2/index.html"><font size="-1">BZip2</font></a>
</li>
<li>
-<a href="component.html"><font size="-1">Component Utilities</font></a>
+<a href="baxter/index.html"><font size="-1">Baxter</font></a>
</li>
<li>
-<a href="concurrent.html"><font size="-1">Concurrent Threading</font></a>
+<a href="cli/index.html"><font size="-1">CLI</font></a>
</li>
<li>
-<a href="datasource.html"><font size="-1">DataSource Management</font></a>
+<a href="cache/index.html"><font size="-1">Cache</font></a>
</li>
<li>
-<a href="i18n.html"><font size="-1">Internationalization</font></a>
+<a href="collections/index.html"><font size="-1">Collections</font></a>
</li>
<li>
-<a href="io.html"><font size="-1">IO Utilities</font></a>
+<a href="command/index.html"><font size="-1">Command</font></a>
</li>
<li>
-<a href="logger.html"><font size="-1">LogKit Management</font></a>
+<a href="component/index.html"><font size="-1">Component</font></a>
</li>
<li>
-<a href="monitor.html"><font size="-1">Resource Monitoring</font></a>
+<a href="concurrent/index.html"><font size="-1">Concurrent</font></a>
</li>
<li>
-<a href="pool.html"><font size="-1">Pooling Support</font></a>
+<a href="datasource/index.html"><font size="-1">DataSource</font></a>
</li>
<li>
-<a href="property.html"><font size="-1">Property Utilities</font></a>
+<a href="event/index.html"><font size="-1">Event</font></a>
</li>
<li>
-<a href="proxy.html"><font size="-1">Proxy Implementation</font></a>
+<a href="extension/index.html"><font size="-1">Extension</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Components under Development</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="cache.html"><font size="-1">Cache Support</font></a>
+<a href="fortress/index.html"><font size="-1">Fortress</font></a>
</li>
<li>
-<a href="container.html"><font size="-1">Container Management</font></a>
+<a href="io/index.html"><font size="-1">I/O</font></a>
</li>
<li>
-<a href="extension.html"><font size="-1">Optional Package Management</font></a>
+<a href="il8n/index.html"><font size="-1">Internationalization</font></a>
</li>
<li>
-<a href="xmlbundle.html"><font size="-1">XML Resource Bundle</font></a>
+<a href="lang/index.html"><font size="-1">Lang</font></a>
</li>
<li>
-<a href="pipeline.html"><font size="-1">Piplining Support</font></a>
+<a href="logger/index.html"><font size="-1">Logger</font></a>
</li>
<li>
-<a href="thread.html"><font size="-1">Thread Pool Management</font></a>
+<a href="monitor/index.html"><font size="-1">Monitor</font></a>
</li>
<li>
-<a href="source.html"><font size="-1">Source Resolving</font></a>
+<a href="naming/index.html"><font size="-1">Naming</font></a>
</li>
-</ul>
-</font>
-<br>
-<br>
-<font size="+1" color="#000000">Example Applications</font>
-<br>
-<font size="-1">
-<ul>
<li>
-<a href="examples-jdbcdatasource.html"><font size="-1">JDBC Data Source</font></a>
+<a href="pool/index.html"><font size="-1">Pool</font></a>
+</li>
+<li>
+<a href="property"><font size="-1">Property Utils</font></a>
+</li>
+<li>
+<a href="proxy/index.html"><font size="-1">Proxy</font></a>
+</li>
+<li>
+<a href="source/index.html"><font size="-1">Source Resolver</font></a>
+</li>
+<li>
+<a href="tar/index.html"><font size="-1">TAR</font></a>
+</li>
+<li>
+<a href="testcase/index.html"><font size="-1">Testcase</font></a>
+</li>
+<li>
+<a href="thread/index.html"><font size="-1">Thread</font></a>
+</li>
+<li>
+<a href="util/index.html"><font size="-1">Util</font></a>
+</li>
+<li>
+<a href="xmlbundle/index.html"><font size="-1">XMLBundle</font></a>
+</li>
+<li>
+<a href="zip/index.html"><font size="-1">ZIP</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
-<title>Avalon Excalibur</title>
+<title>Excalibur - Overview</title>
<center>
-<table width="80%">
+<table width="100%">
<tr>
-<td bgcolor="#F3DD61">
-<br>
+<td bgcolor="#99aabb">
<center>
-<b><font face="arial,helvetica,sanserif" color="#000000">Avalon Excalibur</font></b>
+<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur - Overview</font></b>
</center>
-<br>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
-<p>
-<a href="mailto:"></a>
+<p>by <a href="mailto:avalon-dev@jakarta.apache.org">Avalon Documentation Team</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
-<td bgcolor="#525D76"><font face="arial,helvetica,sanserif" color="#ffffff" size="+1"><b>Assisting in Development</b></font></td>
+<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Refactoring!!</b></font></td>
+</tr>
+<tr>
+<td><font face="arial,helvetica,sanserif" color="#000000">
+<br>
+
+<div align="center">
+<table cellspacing="2" cellpadding="2" border="1">
+<tr>
+<td bgcolor="#c0c0c0"><font size="-1" color="#023264">
+ There is a general reorganication of JAR files for Excalibur going
+ on at the moment (early April 2002). This will be complete in a
+ couple of weeks. For now, all the old docs have been migrated
+ to new locations in the website, and will be joined by new pages
+ shortly. This is just a preview of the pages, and much will
+ change day by day.
+ </font></td>
+</tr>
+</table>
+</div>
+
+</font></td>
+</tr>
+</table>
+</div>
+<br>
+<div align="right">
+<table cellspacing="0" cellpadding="2" border="0" width="100%">
+<tr>
+<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
@@ -191,6 +222,39 @@
</tr>
</table>
</div>
+
+</font></td>
+</tr>
+</table>
+</div>
+<br>
+<div align="right">
+<table cellspacing="0" cellpadding="2" border="0" width="100%">
+<tr>
+<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Excalibur Sub-Projects</b></font></td>
+</tr>
+<tr>
+<td><font face="arial,helvetica,sanserif" color="#000000">
+<br>
+
+<div align="right">
+<table cellspacing="0" cellpadding="2" border="0" width="99%">
+<tr>
+<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>AltRMI - Alternative to RMI</b></font></td>
+</tr>
+<tr>
+<td><font face="arial,helvetica,sanserif" color="#000000">
+<br>
+
+<p align="justify">
+ This is simpler, though controvercial, alternative to RMI.
+ </p>
+
+</font></td>
+</tr>
+</table>
+</div>
+<br>
</font></td>
</tr>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur AltRMI - Overview </title>
<authors>
<person name="Paul Hammant" email="Paul_Hammant@yahoo.com"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
AltRMI is a from-scratch replacement for RMI. It has a number of different features
that make it easier to use. It tries as far as possible to be transparent in use.
</p>
<warn>
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
</warn>
</s1>
<s1 title="Feature Differences">
<p>
Some good, some bad:
<ul>
<li>It transports normal Java interfaces (no need to extend java.rmi.Remote)</li>
<li>None of the remote capable methods have to throw java.rmi.RemoteException.</li>
<li>Compared to RMI in use for EJB, it does not transport over CORBA (yet).</li>
</ul>
</p>
</s1>
<s1 title="Connection Robustness">
<p>
Given that there are <link href="http://java.sun.com/people/jag/Fallacies.html">eight
fallacies of distributed computing</link>, we feel it important to show that AltRMI
is not ignoring these issues.<br/>
The principal benefit for a developer making beans or an application server is
that RemoteException is missing. That does not mean that communications failure
is ignored. AltRMI still illustrates communication failure via
AltrmiInvocationException which a subclass of RuntimeException. This basically
allows the exception to be thrown, but not specified on each method (like
RemoteException does). Many feel that allowing the bean developer to
ignore the robustness issues is a mistake. We think not given the following.
<ol>
<li>The EOB Container knows about AltrmiInvocationException.</li>
<li>AltRMI has configurable policies that can help re-establish connection whilst in use.</li>
<li>Standard handling of RemoteException sucks.</li>
<li>It is difficult in EJB, in terms of coverage, to test your huge amounts of
RemoteException handling code.</li>
<li>Most web-app uses of beans have a single "handler" place where pertinent
exceptions are already caught.</li>
</ol>
</p>
<s2 title="1. The EOB Container knows about AltrmiInvocationException">
<p>
A lot of beans coding is 'bean invokes method in bean which invokes method in bean'. In
this case there are several places in the invocation stack where the container's logic
is delegating between beans. Container could easily handle failing connections and take
multiple actions: re-establish report, redirect, abend services or server. If there is
a configurable policy for such events that may include the invoking of methods in,
say, 'contingency' beans.
</p>
</s2>
<s2 title="2. AltRMI has configurable policies that can help reestablish connection whilst in use.">
<p>
AltRMI has a pluggable architecture for re-establishing connections (and reporting timings
etc). Whilst in the middle of an invocation, if the connection is lost, AltRMI can try to
re-establish the connection and complete the method invocation normally. A delay would of
course be encountered, but if administrators are watching the logs, then they can determine
where failures are happening and what to do long term about it. Programmed policies
(configured in EOB) could be "try perpetually to reconnect", "try five times only,
one a second", "fail immediately".
</p>
</s2>
<s2 title="3. Standard handling of RemoteException sucks.">
<p>
Referring to the various ways EJB teams handle RemoteException, in the thousands of places
in a typical J2EE solution where it is thrown, different solutions are...<br/>
<s3 title="3.1. Declare throws RemoteException on every applicable method.">
<p>
That means that it can often arrive back at the container. The container always reports
it verbosely.<br/>
</p>
</s3>
<s3 title="3.2. Have a standard catch block and pass the RemoteException to a standard handler
method that does something with it.">
<p>
That something can often by turn it into a custom derivative of RuntimeException as well
as reporting it. This strategy makes you wonder why it was not a derivative of
RuntimeException in the first place.<br/>
</p>
</s3>
<s3 title="3.3. Try the failing method call again, or n times.">
<p>
Clutters your code with reams of retry logic. What if it still fails? Combine this
with (1) or (2) as well?
</p>
</s3>
</p>
</s2>
<s2 title="4. It is difficult in EJB, in terms of coverage, to test your huge amounts of
RemoteException handling code">
<p>
Your EJB team has developed a huge amount of code for the business logic, and consequentually
loads of code concerning RemoteException. Question how do they test the "connection failing"
logic? Do they rip out cables while the machine is in use? No that does not yield good
coverage. Do they have test cases and mock beans that throw RemoteException? Yes probably,
but that is an artificial connection outage. However most teams do not test more than a
single case, and are happy for the same RemoteException handler block to be used all over
the place.
</p>
</s2>
<s2 title="5. Most web-app uses of beans have a single 'handler' place where pertinent
exceptions are already caught.">
<p>
Webapps that use multiple beans (assuming a decent MVC separation or a framework like
Velocity) already have a place where central exception handling is going on. With
AltRMI, you can catch AltrmiInvocationException where you feel is fit. EJB teams that
choose to have throws RemoteException on all methods (percolating it up the stack) probably
also choose to finally handle it centrally. Like so ...
</p>
<source>
public Template handleRequest(HttpServletRequest req, HttpServletResponse resp, Context ctx) {
Template template = null;
String templateName = null;
HttpSession sess = req.getSession();
sess.setAttribute(ERR_MSG_TAG, "all ok");
try {
try {
// Process the command
templateName = processRequest(req, resp, ctx);
// Get the template
template = getTemplate(templateName);
} catch (AltrmiInvocationException aie) {
template = getTemplate("commfailure.vm");
}
} catch (ResourceNotFoundException rnfe) {
// blah blah
} catch (ParseErrorException pee) {
// blah blah
} catch (Exception e) {
// blah blah
}
return template;
}
</source>
</s2>
</s1>
<s1 title="Things yet to do">
<p>
There is an ongoing plan for features to be added to AltRMI. On the
transports page, there are some related future requirements listed. Below are
the big features yet to do.
</p>
<s2 title="Callback">
<p>
We have yet to implement callbacks. We need to make the communication
asynchronous to do this. We have toyed with standard APIs like BEEP but
find the performance is not quite good enough. We may not need the
sustained power of BEEP as our needs are for short bursts rather than
multiplexing sustained streams.
</p>
</s2>
<s2 title="True dynamic creation of Proxies">
<p>
We curently use javac to compile stubs from source. It feels natuaral to use
this technique as we think in terms of the Java the language. We know that
the main interface to Javac is deprecated in JDK1.4 and feel we should move to
some less static and more beanlike tool. An obvious choice would be BCEL, but we
find it too hard to work with (it being closer to bytecode machine than the Java
language).
</p>
</s2>
</s1>
</body>
<footer>
<legal>
Copyright (c) 1999-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:45 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/client-usage.html
Index: client-usage.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur AltRMI / Client Usage</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="otherfeatures.html"><font size="-1">Other Features</font></a>
</li>
<li>
<a href="transports.html"><font size="-1">Transports</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Using</font>
<br>
<font size="-1">
<ul>
<li>
<a href="facades.html"><font size="-1">Facade Design</font></a>
</li>
<li>
<a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
</li>
<li>
<a href="publishing.html"><font size="-1">Publishing</font></a>
</li>
<li>
<a href="client-usage.html"><font size="-1">Client usage</font></a>
</li>
<li>
<a href="pingers.html"><font size="-1">Pingers</font></a>
</li>
<li>
<a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur AltRMI / Client Usage</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Client Usage</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
On the client you can choose to use JNDI or AltRMI's own clases to lookup a
remote interface.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>JNDI</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
If you are using Ant for builds, then you can use the 'altrmiproxies' taskdef
to make proxies in advance of use.
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
Hashtable env = new Hashtable();
env.put(
Context.INITIAL_CONTEXT_FACTORY,
"org.apache.excalibur.altrmi.client.impl.naming.DefaultAltrmiInitialContextFactory");
env.put(Context.PROVIDER_URL, "altrmi://localhost:1235/SocketCustomStream");
Context ctx = new InitialContext(env);
TestInterface ti = (TestInterface) ctx.lookup("Hello");
</pre>
</td>
</tr>
</table>
</div>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Custom AltRMI lookup</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Directly using AltRMI classes, you can lookup the same interface.
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
AltrmiFactory af = new ClientClassAltrmiFactory(false);
af.setHostContext(new SocketCustomStreamHostContext("127.0.0.1", 1235));
TestInterface ti = (TestInterface) af.lookup("Hello");
</pre>
</td>
</tr>
</table>
</div>
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/connection-listeners.html
Index: connection-listeners.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur AltRMI / Connection Listener</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="otherfeatures.html"><font size="-1">Other Features</font></a>
</li>
<li>
<a href="transports.html"><font size="-1">Transports</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Using</font>
<br>
<font size="-1">
<ul>
<li>
<a href="facades.html"><font size="-1">Facade Design</font></a>
</li>
<li>
<a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
</li>
<li>
<a href="publishing.html"><font size="-1">Publishing</font></a>
</li>
<li>
<a href="client-usage.html"><font size="-1">Client usage</font></a>
</li>
<li>
<a href="pingers.html"><font size="-1">Pingers</font></a>
</li>
<li>
<a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur AltRMI / Connection Listener</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Connection Listener</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Conenction listener can monitor each method invokation (affects performance)
and handle service suspensions and abnormal ends. The connection listener
can decide how to do the reconnection andhow to obey the susepension. In
theory a method call can just be left blocking until the servce is
reconnected (after abend) or resumed after suspension. Connection listeners
run on the client side.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Connection Listener types</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Here are the types of connection listener implemented so far.
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>DefaultConnectionListener</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This listener does not log method calls and tries ten times to
reconnect the the abended service in the case of failure. After that
it throws an AltrmiInvocationException. In the case of suspension
it honours the suggestion of the server to wait n seconds before
trying again.
</p>
<p align="justify">
This listener is the default and will be used if none other is
specified.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/facades.html
Index: facades.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur AltRMI / Facade Design</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="otherfeatures.html"><font size="-1">Other Features</font></a>
</li>
<li>
<a href="transports.html"><font size="-1">Transports</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Using</font>
<br>
<font size="-1">
<ul>
<li>
<a href="facades.html"><font size="-1">Facade Design</font></a>
</li>
<li>
<a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
</li>
<li>
<a href="publishing.html"><font size="-1">Publishing</font></a>
</li>
<li>
<a href="client-usage.html"><font size="-1">Client usage</font></a>
</li>
<li>
<a href="pingers.html"><font size="-1">Pingers</font></a>
</li>
<li>
<a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur AltRMI / Facade Design</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Facade Design</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
AltRMI publishes objects via their interfaces. It does not replicate all objects
on the client side, it generates proxies for those defines as facades.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Facades</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Consider a whether system that models weather stations (fixed and mobile) and
the meterologists that staff the stations.....
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td bgcolor="#525D76"><font size="0" color="#ffffff">Facade Diagram</font></td>
</tr>
<tr>
<td><img src="images/facades.jpg" alt="Paul Hammant, 2002" border="0"></td>
</tr>
<tr>
<td><font size="-1">
<ul>
<li>Paul Hammant, 2002</li>
</ul>
</font></td>
</tr>
</table>
</div>
<p align="justify">
The interfaces and the class on the right of the right of the green line are 'interface'
or API, and we want them to exist as is on the client side for general use. Things on the
left are the implementation classes and they exist on theserver side only. Though not
shown here, it would be easiest to have them is a seperate package. Representing those
objects on the client side are generated proxies. Those proxies are pass-by-reference
boudaries but are castable to any of the interfaces they represent. There is one
pass-by-value object and that is Coordinate. It should be serializable and final
(Immutable pattern).
</p>
<p align="justify">
The principle point of entry into the system from the client point of view is
'WeatherSystem'. The mechanism of entry is a lookup on an agreed name. We recommend
'WeatherSystem' or 'WeatherSystem_1.0' etc.
</p>
<p align="justify">
Once the client has a handle on the WetherSystem normal Java tarversals are possibleL
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
WeatherSystem ws = getWeatherSystem(); // some thing that does the JNDI lookup.
// yes we know the following could throw NPEs or Array Index issues.
String aName = ws.getWeatherStation("ArcticOne").getMeteorologists()[0].getName();
</pre>
</td>
</tr>
</table>
</div>
To generate the correct proxies for the above, you would want to have the interface as
'WeatherSystem' and additional-facades of 'Meteorologist' and 'WeatherStation'
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/generating-proxies.html
Index: generating-proxies.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur AltRMI / Facade Design</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="otherfeatures.html"><font size="-1">Other Features</font></a>
</li>
<li>
<a href="transports.html"><font size="-1">Transports</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Using</font>
<br>
<font size="-1">
<ul>
<li>
<a href="facades.html"><font size="-1">Facade Design</font></a>
</li>
<li>
<a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
</li>
<li>
<a href="publishing.html"><font size="-1">Publishing</font></a>
</li>
<li>
<a href="client-usage.html"><font size="-1">Client usage</font></a>
</li>
<li>
<a href="pingers.html"><font size="-1">Pingers</font></a>
</li>
<li>
<a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur AltRMI / Facade Design</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Facade Design</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
You can choose to generate your procies in advance of use, or to defer generation
until runtime. As the generation requires javac in tools.jar (multi megabyte), you
have to decide whether your runtime environment or distribution can support or
legally distribute it.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Generation in advance </b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
If you are using Ant for builds, then you can use the 'altrmiproxies' taskdef to make
proxies in advance of use.
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
<altrmiproxies genname="Hello" srcgendir="${build.home}/genjava"
classgendir="${build.home}/classes2" verbose="true"
interfaces="org.apache.excalibur.altrmi.test.TestInterface"
additionalfacades="org.apache.excalibur.altrmi.test.TestInterface2">
<classpath>
<pathelement location="${build.home}/classes"/>
</classpath>
</altrmiproxies>
</pre>
</td>
</tr>
</table>
</div>
All you have to do after that is place them in a jar for later use. That jar could be
client or server-side, thus classes can be retrieved from the server for use on the client
or preexist in clients environment.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Generation at runtime</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
If you are using Ant for builds, then you can use the 'altrmiproxies' taskdef to make
proxies in advance of use.
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
DynamicGeneratorClassRetriever dgcr = new DynamicGeneratorClassRetriever(mGenJarURL);
PublicationDescription pd = new PublicationDescription(TestInterface.class, new Class[] { TestInterface2 });
dgcr.generate("Hello", pd, this.getClass().getClassLoader());
</pre>
</td>
</tr>
</table>
</div>
This by implication means server-side classes, so the above is code in the server. It also
has a performance hit at time of first retrieval.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur AltRMI - Overview </title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="otherfeatures.html"><font size="-1">Other Features</font></a>
</li>
<li>
<a href="transports.html"><font size="-1">Transports</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Using</font>
<br>
<font size="-1">
<ul>
<li>
<a href="facades.html"><font size="-1">Facade Design</font></a>
</li>
<li>
<a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
</li>
<li>
<a href="publishing.html"><font size="-1">Publishing</font></a>
</li>
<li>
<a href="client-usage.html"><font size="-1">Client usage</font></a>
</li>
<li>
<a href="pingers.html"><font size="-1">Pingers</font></a>
</li>
<li>
<a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur AltRMI - Overview </title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI - Overview </font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
AltRMI is a from-scratch replacement for RMI. It has a number of different features
that make it easier to use. It tries as far as possible to be transparent in use.
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td bgcolor="#c0c0c0"><font size="-1" color="#023264">
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
</font></td>
</tr>
</table>
</div>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Feature Differences</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Some good, some bad:
<ul>
<li>It transports normal Java interfaces (no need to extend java.rmi.Remote)</li>
<li>None of the remote capable methods have to throw java.rmi.RemoteException.</li>
<li>Compared to RMI in use for EJB, it does not transport over CORBA (yet).</li>
</ul>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Connection Robustness</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Given that there are <a href="http://java.sun.com/people/jag/Fallacies.html">eight
fallacies of distributed computing</a>, we feel it important to show that AltRMI
is not ignoring these issues.<p align="justify"></p>
The principal benefit for a developer making beans or an application server is
that RemoteException is missing. That does not mean that communications failure
is ignored. AltRMI still illustrates communication failure via
AltrmiInvocationException which a subclass of RuntimeException. This basically
allows the exception to be thrown, but not specified on each method (like
RemoteException does). Many feel that allowing the bean developer to
ignore the robustness issues is a mistake. We think not given the following.
<ol>
<li>The EOB Container knows about AltrmiInvocationException.</li>
<li>AltRMI has configurable policies that can help re-establish connection whilst in use.</li>
<li>Standard handling of RemoteException sucks.</li>
<li>It is difficult in EJB, in terms of coverage, to test your huge amounts of
RemoteException handling code.</li>
<li>Most web-app uses of beans have a single "handler" place where pertinent
exceptions are already caught.</li>
</ol>
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>1. The EOB Container knows about AltrmiInvocationException</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
A lot of beans coding is 'bean invokes method in bean which invokes method in bean'. In
this case there are several places in the invocation stack where the container's logic
is delegating between beans. Container could easily handle failing connections and take
multiple actions: re-establish report, redirect, abend services or server. If there is
a configurable policy for such events that may include the invoking of methods in,
say, 'contingency' beans.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>2. AltRMI has configurable policies that can help reestablish connection whilst in use.</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
AltRMI has a pluggable architecture for re-establishing connections (and reporting timings
etc). Whilst in the middle of an invocation, if the connection is lost, AltRMI can try to
re-establish the connection and complete the method invocation normally. A delay would of
course be encountered, but if administrators are watching the logs, then they can determine
where failures are happening and what to do long term about it. Programmed policies
(configured in EOB) could be "try perpetually to reconnect", "try five times only,
one a second", "fail immediately".
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>3. Standard handling of RemoteException sucks.</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Referring to the various ways EJB teams handle RemoteException, in the thousands of places
in a typical J2EE solution where it is thrown, different solutions are...<p align="justify"></p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="98%">
<tr>
<td bgcolor="e8f8ff"><font face="arial,helvetica,sanserif" color="#000000" size="-NaN"><b>3.1. Declare throws RemoteException on every applicable method.</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
That means that it can often arrive back at the container. The container always reports
it verbosely.<p align="justify"></p>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="98%">
<tr>
<td bgcolor="e8f8ff"><font face="arial,helvetica,sanserif" color="#000000" size="-NaN"><b>3.2. Have a standard catch block and pass the RemoteException to a standard handler method that does something with it.</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
That something can often by turn it into a custom derivative of RuntimeException as well
as reporting it. This strategy makes you wonder why it was not a derivative of
RuntimeException in the first place.<p align="justify"></p>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="98%">
<tr>
<td bgcolor="e8f8ff"><font face="arial,helvetica,sanserif" color="#000000" size="-NaN"><b>3.3. Try the failing method call again, or n times.</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Clutters your code with reams of retry logic. What if it still fails? Combine this
with (1) or (2) as well?
</p>
</font></td>
</tr>
</table>
</div>
<br>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>4. It is difficult in EJB, in terms of coverage, to test your huge amounts of RemoteException handling code</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Your EJB team has developed a huge amount of code for the business logic, and consequentually
loads of code concerning RemoteException. Question how do they test the "connection failing"
logic? Do they rip out cables while the machine is in use? No that does not yield good
coverage. Do they have test cases and mock beans that throw RemoteException? Yes probably,
but that is an artificial connection outage. However most teams do not test more than a
single case, and are happy for the same RemoteException handler block to be used all over
the place.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>5. Most web-app uses of beans have a single 'handler' place where pertinent exceptions are already caught.</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Webapps that use multiple beans (assuming a decent MVC separation or a framework like
Velocity) already have a place where central exception handling is going on. With
AltRMI, you can catch AltrmiInvocationException where you feel is fit. EJB teams that
choose to have throws RemoteException on all methods (percolating it up the stack) probably
also choose to finally handle it centrally. Like so ...
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
public Template handleRequest(HttpServletRequest req, HttpServletResponse resp, Context ctx) {
Template template = null;
String templateName = null;
HttpSession sess = req.getSession();
sess.setAttribute(ERR_MSG_TAG, "all ok");
try {
try {
// Process the command
templateName = processRequest(req, resp, ctx);
// Get the template
template = getTemplate(templateName);
} catch (AltrmiInvocationException aie) {
template = getTemplate("commfailure.vm");
}
} catch (ResourceNotFoundException rnfe) {
// blah blah
} catch (ParseErrorException pee) {
// blah blah
} catch (Exception e) {
// blah blah
}
return template;
}
</pre>
</td>
</tr>
</table>
</div>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Things yet to do</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
There is an ongoing plan for features to be added to AltRMI. On the
transports page, there are some related future requirements listed. Below are
the big features yet to do.
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Callback</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
We have yet to implement callbacks. We need to make the communication
asynchronous to do this. We have toyed with standard APIs like BEEP but
find the performance is not quite good enough. We may not need the
sustained power of BEEP as our needs are for short bursts rather than
multiplexing sustained streams.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>True dynamic creation of Proxies</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
We curently use javac to compile stubs from source. It feels natuaral to use
this technique as we think in terms of the Java the language. We know that
the main interface to Javac is deprecated in JDK1.4 and feel we should move to
some less static and more beanlike tool. An obvious choice would be BCEL, but we
find it too hard to work with (it being closer to bytecode machine than the Java
language).
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/otherfeatures.html
Index: otherfeatures.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur AltRMI / Other Features</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="otherfeatures.html"><font size="-1">Other Features</font></a>
</li>
<li>
<a href="transports.html"><font size="-1">Transports</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Using</font>
<br>
<font size="-1">
<ul>
<li>
<a href="facades.html"><font size="-1">Facade Design</font></a>
</li>
<li>
<a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
</li>
<li>
<a href="publishing.html"><font size="-1">Publishing</font></a>
</li>
<li>
<a href="client-usage.html"><font size="-1">Client usage</font></a>
</li>
<li>
<a href="pingers.html"><font size="-1">Pingers</font></a>
</li>
<li>
<a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur AltRMI / Other Features</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Other Features</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Blah
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Features</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Blah
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Choice of location of generated Proxy class.</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Classes providing client side implementation of the transported
interface(s) can be either on the client side or the server side (and
duly transported) at time of lookup. On the server side, the proxy classes
can be generated in advance (Ant Task) or at runtime - javac is invoked.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Choice of castability of generated proxy class.</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
To suit remote facilities that are happy with refection and do
not need to cast to an interface to use a bean (I am thinking of
BeanShell) the proxy class can be generated without specifying
that it implements the interface(s).
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Suspendable/Resumable service.</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The Server supports suspend() and resume(). With the current impl this
replies in a timely fashion to the client that the client should try
later. The client waits for the notified amount of time and seamlessly
tries the request again. A server could cycle through suspended and back
to resumed will not affect the client except for the a delay.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Recovering transport</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
AltRMI tries to recover its transports should they fail. The recovery
is pluggable in that the developer can choose when/how/if the connection
handler tries to recover the connection. Any inprogress, but
disconnected method invocation will attempt to be recoved and just return
as normal, albeit after a longer than normal delay.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Event API</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
For suspensions, abnormal ends of connection etc, there is a listener
that can be set that will allow actions to be taken. Abnormally
terminated connections will by default try to be reconnected, the
listener can decide if, how many, and how often the retries occur.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Pluggable Transport indenpendant keep-alive concept.</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
On the client side, there is an API for a pluggable pinger. While the server
may support timeouts for client connections, the client could choose to
overcome that default policy with a ping concept.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Unpublishable and republishable API</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The server is able to unpublish a service. In conjuction with
suspend()/resume() a service can be republished, upgraded etc
whilst in use, or just offlined.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Startable API for Server</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The server implements and acts upon start() and stop() methods.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Not just pass by value.</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
AltRMI started life as 'pass by value' only. In now supports return
types and parameters wrapped in another AltRMI Facade.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>No duplicate instances.</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
For Facades, if you call Person p = getPerson("Fred") twice you will get
the same instance on the client side is it is the same instance on the
server side.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Load balancing server grouping</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
In some configurations, the client side can have multiple servers it
will forward calls to (TODO).
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b></b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Blah
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/pingers.html
Index: pingers.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur AltRMI / Pingers</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="otherfeatures.html"><font size="-1">Other Features</font></a>
</li>
<li>
<a href="transports.html"><font size="-1">Transports</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Using</font>
<br>
<font size="-1">
<ul>
<li>
<a href="facades.html"><font size="-1">Facade Design</font></a>
</li>
<li>
<a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
</li>
<li>
<a href="publishing.html"><font size="-1">Publishing</font></a>
</li>
<li>
<a href="client-usage.html"><font size="-1">Client usage</font></a>
</li>
<li>
<a href="pingers.html"><font size="-1">Pingers</font></a>
</li>
<li>
<a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur AltRMI / Pingers</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Pingers</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Although it may not be necessary for all types of transport,
there is a mechanism called a pinger that can be used to keep alive
the connection. It is possible to write your own or extend the exiting
ones if there are different requirements. Pingers run on the client side.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Pinger types</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Here are the types of pinger implemented so far
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>DefaultConnectionPinger</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This pinger pings every ten seconds, but stops one hundred seconds seoonds
after the last real request. The 10 & 100 are configurable of course.
</p>
<p align="justify">
This pinger is the default and will be used if none other is
specified.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>PerpetualPinger</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This pinger pings every ten seconds until the connection is closed.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/publishing.html
Index: publishing.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur AltRMI / Publishing</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="otherfeatures.html"><font size="-1">Other Features</font></a>
</li>
<li>
<a href="transports.html"><font size="-1">Transports</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Using</font>
<br>
<font size="-1">
<ul>
<li>
<a href="facades.html"><font size="-1">Facade Design</font></a>
</li>
<li>
<a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
</li>
<li>
<a href="publishing.html"><font size="-1">Publishing</font></a>
</li>
<li>
<a href="client-usage.html"><font size="-1">Client usage</font></a>
</li>
<li>
<a href="pingers.html"><font size="-1">Pingers</font></a>
</li>
<li>
<a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur AltRMI / Publishing</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Publishing</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Publishing is an server responsibility obviously. It is quite straight forward.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Publishing</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
You have to choose your server, publish the impl (reiterating the interfaces that will
be pass-by-reference boundaries), then start the server.....
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
AbstractServer as new CompleteSocketCustomStreamServer(1235);
TestInterfaceImpl ti = new TestInterfaceImpl();
as.publish(ti, "Hello", new PublicationDescription(TestInterface.class, TestInterface2.class));
as.start();
</pre>
</td>
</tr>
</table>
</div>
After starting the server client connections will be accepted.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/transports.html
Index: transports.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur AltRMI / Transports</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
<li>
<a href="otherfeatures.html"><font size="-1">Other Features</font></a>
</li>
<li>
<a href="transports.html"><font size="-1">Transports</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Using</font>
<br>
<font size="-1">
<ul>
<li>
<a href="facades.html"><font size="-1">Facade Design</font></a>
</li>
<li>
<a href="generating-proxies.html"><font size="-1">Generating proxies</font></a>
</li>
<li>
<a href="publishing.html"><font size="-1">Publishing</font></a>
</li>
<li>
<a href="client-usage.html"><font size="-1">Client usage</font></a>
</li>
<li>
<a href="pingers.html"><font size="-1">Pingers</font></a>
</li>
<li>
<a href="connection-listeners.html"><font size="-1">Connection Listeners</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur AltRMI / Transports</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur AltRMI / Transports</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:Paul_Hammant@yahoo.com">Paul Hammant</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
AltRMI has pluggable and reimplementable transports. They differ in terms of speed and layers of transport. Some are in VM, others between VMs using sockets and various Java concepts.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Transports</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Blah
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Plain Sockets / ObjectStream & CustomStream varients</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Blah
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Over RMI</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Blah
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Piped with same VM / ObjectStream & CustomStream varients</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Blah
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Direct within same VM</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Blah
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Future Transports</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
<ul>
<li>SOAP - Might require additional undynamic "toWSDL()" step.</li>
<li>CORBA - Might require additional undynamic "toIDL()" step.</li>
<li>JMS</li>
<li>UDP</li>
<li>Over RMI over IIOP</li>
<li>Over JMS</li>
<li>Over RMI over HTTP</li>
<li>Over HTTP (custom impl)</li>
<li>TLS enabled versions of many of the above.</li>
</ul>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>JNDI</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Blah
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Speed</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Counting the number of 'void testSpeed()' invocations in 10 seconds,
we can guage the differences (my Athlon900 machine)
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>AltRMI types over TCP/IP</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
For remote publication<p align="justify"></p>
<p align="justify"></p>
Speed Test type Count Relative<p align="justify"></p>
------------------------------- ------- --------<p align="justify"></p>
a) ObjectStream over sockets #2 2702 1.00<p align="justify"></p>
b) Over RMI 4359 1.61<p align="justify"></p>
c) CustomStream over sockets 6069 2.25<p align="justify"></p>
d) ObjectStream over sockets #1 10088 3.73<p align="justify"></p>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>AltRMI types in the same VM</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
These are useful for complete classloader separation of interface & impl using
different classloaders. Impl and 'remote' proxy do not need to see the same
interfaces etc..<p align="justify"></p>
<p align="justify"></p>
Speed Test type Count Relative<p align="justify"></p>
------------------------------- ------- --------<p align="justify"></p>
e) ObjectStream over Pipe #2 12095 4.48<p align="justify"></p>
f) Direct Marshalled #3 20759 7.68<p align="justify"></p>
g) ObjectStream over Pipe #1 61166 22.64<p align="justify"></p>
h) Direct Unmarshalled # 2391498 885.08<p align="justify"></p>
#1 Without calling reset() as workaround to the ObjectStream bug
#2 With calling reset() as workaround to the ObjectStream bug
#3 Completely separates classloaders of client and server. Requires
a thread for each though.
#4 Good as DynamicProxy for separation. Does not separate classloaders
of client and server.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Non AltRMI types</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
- In VM, without using AltRMI - for comparison.
- The inteface, impl and proxy cannot be separated in terms of
branches of classloader for these three. The same interfaces
etc must be visible to both impl and proxy.
<p align="justify"></p>
Speed Test type Count Relative<p align="justify"></p>
------------------------------- ------- --------<p align="justify"></p>
i) DyanmicProxy #5<p align="justify"></p>
(copied from Excalibur) 20282070 7506.32<p align="justify"></p>
j) Hand-coded proxy #5 41214422 15253.30<p align="justify"></p>
k) No Proxy #5 42384804 15686.46<p align="justify"></p>
<p align="justify"></p>
#4 - For all of these three, the actual timing may slow down the test.<p align="justify"></p>
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/images/facades.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/altrmi/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/baxter/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur Baxter JMX Utilities - Overview</title>
<authors>
<person name="Peter Donald" email="peter@apache.org"/>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<warn>
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
You can find this in the Scratchpad.jar file if you want
to play with it. Do not blame us if the next release of
Excalibur breaks your code if you use this package.
</warn>
<p>
Baxter is a set of base classes and utility classes that are enable
rapid creation of MBeans via delegation and inheritance. These were
originally derived from the Phoenix project.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:45 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/baxter/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/baxter/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/baxter/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/baxter/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/baxter/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/baxter/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/baxter/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Baxter JMX Utilities - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Baxter JMX Utilities - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Baxter JMX Utilities - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>, <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td bgcolor="#c0c0c0"><font size="-1" color="#023264">
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
You can find this in the Scratchpad.jar file if you want
to play with it. Do not blame us if the next release of
Excalibur breaks your code if you use this package.
</font></td>
</tr>
</table>
</div>
<p align="justify">
Baxter is a set of base classes and utility classes that are enable
rapid creation of MBeans via delegation and inheritance. These were
originally derived from the Phoenix project.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/bzip2/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur Bzip2 Utilities - Overview</title>
<authors>
<person name="Peter Donald" email="peter@apache.org"/>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<warn>
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
You can find this in the Scratchpad.jar file if you want
to play with it. Do not blame us if the next release of
Excalibur breaks your code if you use this package.
</warn>
<p>
Streams that compress and decompress the BZip2 format (without the
file header chars). Originally derived from code in the ant project.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:46 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/bzip2/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/bzip2/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/bzip2/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/bzip2/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/bzip2/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/bzip2/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/bzip2/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Bzip2 Utilities - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Bzip2 Utilities - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Bzip2 Utilities - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>, <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td bgcolor="#c0c0c0"><font size="-1" color="#023264">
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
You can find this in the Scratchpad.jar file if you want
to play with it. Do not blame us if the next release of
Excalibur breaks your code if you use this package.
</font></td>
</tr>
</table>
</div>
<p align="justify">
Streams that compress and decompress the BZip2 format (without the
file header chars). Originally derived from code in the ant project.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/cache/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur Cache - Overview</title>
<authors>
<person name="Eung-ju Park" email="colus@isoft.co.kr"/>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<warn>
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
You can find this in the Scratchpad.jar file if you want
to play with it. Do not blame us if the next release of
Excalibur breaks your code if you use this package.
</warn>
<p>
The <code>org.apache.avalon.excalibur.cache</code> package contains
interfaces and classes for caching. The design is sufficiently modular
to allow for different implementations of the backing mechanism (store)
and replacement algorithm (eg LRU, FIFO).
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2001-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:46 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/cache/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/cache/images/cache.png
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/cache/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/cache/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/cache/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/cache/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/cache/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/cache/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Cache - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Cache - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Cache - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:colus@isoft.co.kr">Eung-ju Park</a>, <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td bgcolor="#c0c0c0"><font size="-1" color="#023264">
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
You can find this in the Scratchpad.jar file if you want
to play with it. Do not blame us if the next release of
Excalibur breaks your code if you use this package.
</font></td>
</tr>
</table>
</div>
<p align="justify">
The <code>org.apache.avalon.excalibur.cache</code> package contains
interfaces and classes for caching. The design is sufficiently modular
to allow for different implementations of the backing mechanism (store)
and replacement algorithm (eg LRU, FIFO).
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/cli/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Command-line Utilities - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Command-line Utilities - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Command-line Utilities - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This component allows you to parse Command Line Options
during application start-up. It is designed to parse the
command line options in the same manner as the C getopt()
function in glibc (the GNU C runtime library). It attempts
to do this in a simpler, more Java-centric manner than the
original product.
</p>
<p align="justify">
There are a number of examples in the examples/ directory
of this release. These examples allow you to get started
fast and easy. See the examples/README.txt file for
further details.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Parsing Rules</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The command line is parsed according to the following rules. There are
two forms of options in this package, the Long form and the Short form.
The long form of an option is preceded by the '--' characters while the
short form is preceded by a single '-'. Some example options would be;
"--an-option", "-a", "--day", "-s -f -a".
</p>
<p align="justify">
In the tradition of UNIX programs, the short form of an option can occur
immediately after another short form option. So if 'a', 'b' and 'c' are
short forms of options that take no parameters then the following
command lines are equivalent: "-abc", "-a -bc", "-a -b -c", "-ab -c", etc.
</p>
<p align="justify">
Options can also accept arguments if specified. You can specify that an
option requires an argument in which the text immediately following the
option will be considered to be an argument to the option. So if 'a' was an
option that required an argument then the following would be equivalent;
"-abc", "-a bc" (namely the option 'a' with argument 'bc').
</p>
<p align="justify">
Options can also specify optional arguments. In this case if there is any
text immediately following the option character then it is considered an
argument. Otherwise, the option has no arguments. For example if 'a' was an
option that required an optional argument then "-abc" is an option 'a' with
argument "bc" while "-a bc" is an option 'a' with no argument, followed by
the text "bc". It is also possible to place an '=' sign between the option
and it's argument. ie The following are all equivalent; "-a=bc", "-a bc",
"-abc".
</p>
<p align="justify">
In some cases it is also necessary to disable command line parsing so that you
can pass a text argument to the program that starts with a '-' character. To do
this insert the sequence '--' onto the command line with no text immediately
following it. This will disable processing for the rest of the command line.
The '--' characters will not be passed to the user program. For instance the
line "-- -b" would result in the program being passed the
text "-b" (ie. not as an option).
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/collections/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur Collections - Overview</title>
<authors>
<person name="Leo Simons" email="mail@leosimons.com"/>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
Filling the gap in java.util....
</p>
<p>
The Collection Utilities in <code>org.apache.avalon.excalibur.collection</code>
provide a number of high speed collection implementations as well as some utilities
to allow you to execute Set mathematics on a list.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:46 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/collections/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/collections/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/collections/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/collections/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/collections/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/collections/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/collections/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Collections - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Collections - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Collections - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:mail@leosimons.com">Leo Simons</a>, <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Filling the gap in java.util....
</p>
<p align="justify">
The Collection Utilities in <code>org.apache.avalon.excalibur.collection</code>
provide a number of high speed collection implementations as well as some utilities
to allow you to execute Set mathematics on a list.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/command/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur Command - Overview</title>
<authors>
<person name="????" email="???"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
???
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:47 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/command/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/command/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/command/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/command/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/command/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/command/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/command/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Command - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Command - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Command - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:???">????</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
???
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/component/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Excalibur Component Utilities - Overview</title>
<authors>
<person name="Leo Simons" email="mail@leosimons.com"/>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
<person name="Peter Donald" email="peter@apache.org"/>
<person name="Leif Mortenson" email="leif@tanukisoftware.com"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
This project contains utilities for managing components.
In particular, the ExcaliburComponentManager.
</p>
</s1>
<s1 title="Automated Component Management">
<p>
The <code>org.apache.avalon.excalibur.component</code> 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.
</p>
<p>
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.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:47 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/component/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/component/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/component/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/component/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/component/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/component/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/component/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Component Utilities - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Component Utilities - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Component Utilities - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:mail@leosimons.com">Leo Simons</a>, <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:peter@apache.org">Peter Donald</a>, <a href="mailto:leif@tanukisoftware.com">Leif Mortenson</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This project contains utilities for managing components.
In particular, the ExcaliburComponentManager.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Automated Component Management</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The <code>org.apache.avalon.excalibur.component</code> 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.
</p>
<p align="justify">
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.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/concurrent/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur Concurrent Threading - Overview</title>
<authors>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
<person name="Leo Simons" email="mail@leosimons.com"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
Avalon Excalibur's concurrency management utilities are in
the <code>org.apache.avalon.excalibur.concurrent</code> package.
They give you important thread handling classes like Lock (a
Mutex implementation), DjikstraSemaphore, ThreadBarrier, and
ConditionalEvent.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:47 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/concurrent/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/concurrent/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/concurrent/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/concurrent/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/concurrent/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/concurrent/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/concurrent/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Concurrent Threading - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Concurrent Threading - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Concurrent Threading - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Avalon Excalibur's concurrency management utilities are in
the <code>org.apache.avalon.excalibur.concurrent</code> package.
They give you important thread handling classes like Lock (a
Mutex implementation), DjikstraSemaphore, ThreadBarrier, and
ConditionalEvent.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/datasource/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Excalibur Datasource Management - Overview</title>
<authors>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
Avalon Excalibur's DataSource package in
<code>org.apache.avalon.excalibur.datasource</code> allows you
to manage pooled connections in one of two ways. You can have
the package handle it for you, or you can use a J2EE server's
DataSource management. It provides the same kind of access
regardless of which method you choose--since they are obtained
through Avalon's Component Manager infrastructure.
</p>
<p>
The DataSource package requires that you load the necessary
driver classes at init time, but it will take care of all
necessary issues from there.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:48 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/datasource/examples-jdbcdatasource.html
Index: examples-jdbcdatasource.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Datasource Management - Jdbc Datasource Example Application</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Example Applications</font>
<br>
<font size="-1">
<ul>
<li>
<a href="examples-jdbcdatasource.html"><font size="-1">JDBC Data Source</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Datasource Management - Jdbc Datasource Example Application</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Datasource Management - Jdbc Datasource Example Application</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:leif@tanukisoftware.com">Leif Mortenson</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The Jdbc Data Source Example Application will take you through the steps involved
to get your Avalon application configured to be able to connect to a database.
This is done by implementing a simple console based application which allows the
user to add, remove, and view Movie Titles in a Hypersonic SQL database.
</p>
<p align="justify">
This example assumes that you are familiar with configuration files and with the
Logger system.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Running the Example Application</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
To run the application, follow these steps.
<list>
<li>Download and build the <code>jakarta-avalon project</code>.</li>
<li>Download the <code>jakarta-avalon-excalibur</code> project into the same
parent directory as <code>jakarta-avalon</code> and run <code>build</code>
</li>
<li>cd into the <code>jakarta-avalon-excalibur/examples/jdbcdatasource</code>
directory and run build. This will build the example application.
</li>
<li>cd into the <code>jakarta-avalon-excalibur/examples/jdbcdatasource/bin</code>
directory and execute the <code>run</code> script.</li>
</list>
</p>
<p align="justify">
Once the application is running, you should see the following:
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>Running the JdbcDataSource Example Application
Please enter a title to be added to the database
(RESET deletes all titles, LIST lists all titles, QUIT or EXIT to quit)
:</pre>
</td>
</tr>
</table>
</div>
</p>
<p align="justify">
The application allows you to enter the commands <code>RESET</code> to delete all
titles from the database, <code>LIST</code> to list all the titles in the database,
or <code>QUIT</code> to quit the application. Any other command will be
interpreted as a title and be added to the database. Not the fanciest interface
in the world, but it will work for this example.
</p>
<p align="justify">
Play around with adding and deleting a few Movie Titles before we move on to how
the application works. You should see something like the following as output:
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>Running the JdbcDataSource Example Application
Please enter a title to be added to the database
(RESET deletes all titles, LIST lists all titles, QUIT or EXIT to quit)
: Crouching Tiger Sleeping Dragon
Adding title 'Crouching Tiger Sleeping Dragon' to the database...
Added 'Crouching Tiger Sleeping Dragon' to the database.
: The Matrix
Adding title 'The Matrix' to the database...
Added 'The Matrix' to the database.
: Akira
Adding title 'Akira' to the database...
Added 'Akira' to the database.
: list
Listing all titles currently in the database...
'Crouching Tiger Sleeping Dragon' saved at 2002-02-04 16:45:03.63
'The Matrix' saved at 2002-02-04 16:45:17.5
'Akira' saved at 2002-02-04 16:45:41.714
The database contains 3 titles.
: reset
Deleting all titles currently in the database...
Deleted 3 titles from the database.
: quit
Exiting...</pre>
</td>
</tr>
</table>
</div>
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>So How Does It All Work?</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This example starts out by creating a component interface,
<code>HelloDBService</code>, and its implementation class
<code>DefaultHelloDBService</code>. <code>HelloDBService</code> defines the
following methods:
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>public interface HelloDBService
extends Component
{
String ROLE = "org.apache.avalon.examples.jdbcdatasource.HelloDBService";
/**
* Adds a single row to the database.
*/
void addRow( String title );
/**
* Ask the component to delete all rows in the database.
*/
void deleteRows();
/**
* Ask the component to log all of the rows in the database to the logger
* with the info log level.
*/
void logRows();
}</pre>
</td>
</tr>
</table>
</div>
</p>
<p align="justify">
The implementation class, <code>DefaultHelloDBService</code>, must implement the
following interfaces; <code>HelloDBService</code>, <code>Composable</code>,
<code>Configurable</code>, <code>Initializable</code>, and <code>Disposable</code>.
The methods of each interface have a critical role in controlling the life cycle of
the component and its interaction with the JdbcDataSource.
</p>
<p align="justify">
The <code>Composable</code> interface defines the <code>compose</code> method. Its
job is to store a reference to the ComponentManager which created the component.
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>public void compose( ComponentManager manager )
{
m_manager = manager;
}</pre>
</td>
</tr>
</table>
</div>
</p>
<p align="justify">
The <code>Configurable</code> interface defines the <code>configure</code> method.
Its job is to extract the name of the Data Source which the component is configured
to use.
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>public void configure( Configuration configuration )
throws ConfigurationException
{
// Obtain a reference to the configured DataSource
m_dataSourceName = configuration.getChild( "dbpool" ).getValue();
}</pre>
</td>
</tr>
</table>
</div>
</p>
<p align="justify">
The <code>Initializable</code> interface defines the <code>initialize</code> method.
Its job is to actually obtain a reference to the Data Souurce whose name was
obtained during the configuraton phase.
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>public void initialize()
throws Exception
{
// Get a reference to a data source
m_dbSelector = (ComponentSelector)m_manager.lookup( DataSourceComponent.ROLE + "Selector" );
m_dataSource = (DataSourceComponent)m_dbSelector.select( m_dataSourceName );
// Initialize the database.
initializeDatabase();
}</pre>
</td>
</tr>
</table>
</div>
In this example, the data source is defined with a component selector. This has
the benefit of allowing multiple Data Sources to be defined for a single
application. First obtain a reference to a ComonentSelector with the role:
<code>org.apache.jakarta.excalibur.datasource.DataSourceComponentSelector</code>.
Next, using the selector, look for the DataSource which was specified in the
<code>dbpool</code> tag when configuring the component. Finally, a user method is
called to initialize the database.
</p>
<p align="justify">
The <code>Disposable</code> interface defines the <code>dispose</code> method.
Its job is release the Data Source and the ComponentSelector used to obtain the
Data Source as part of the clean up cycle for the component.
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>public void dispose()
{
// Free up the data source
if ( m_dbSelector != null )
{
if ( m_dataSource != null )
{
m_dbSelector.release( m_dataSource );
m_dataSource = null;
}
m_manager.release( m_dbSelector );
m_dbSelector = null;
}
}</pre>
</td>
</tr>
</table>
</div>
</p>
<p align="justify">
Please take a look at the complete source for the component at
<code>DefaultHelloDBService.java</code> in the <code>src/java</code> directory of
the example.
</p>
<p align="justify">
This example starts out by creating a component interface,
<code>HelloDBService</code>, and its implementation class
<code>DefaultHelloDBService</code>. The class is defined inside the roles.xml file
with the following definition: (see <code>conf/roles.xml</code>)
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre><role name="org.apache.avalon.examples.jdbcdatasource.HelloDBService"
shorthand="hello-db"
default-class="org.apache.avalon.examples.jdbcdatasource.DefaultHelloDBService"/></pre>
</td>
</tr>
</table>
</div>
This is not any different than any other component definition.
</p>
<p align="justify">
When the component is configured, however, there is a new tag which must be added
to the configuration to tell the component how to locate a JdbcDataSource for its
database access: (see <code>conf/components.xml</code>)
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre><hello-db logger="app">
<dbpool>test-db</dbpool>
</hello-db></pre>
</td>
</tr>
</table>
</div>
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/datasource/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Datasource Management - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
<font size="+1" color="#000000">Example Applications</font>
<br>
<font size="-1">
<ul>
<li>
<a href="examples-jdbcdatasource.html"><font size="-1">JDBC Data Source</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Datasource Management - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Datasource Management - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Avalon Excalibur's DataSource package in
<code>org.apache.avalon.excalibur.datasource</code> allows you
to manage pooled connections in one of two ways. You can have
the package handle it for you, or you can use a J2EE server's
DataSource management. It provides the same kind of access
regardless of which method you choose--since they are obtained
through Avalon's Component Manager infrastructure.
</p>
<p align="justify">
The DataSource package requires that you load the necessary
driver classes at init time, but it will take care of all
necessary issues from there.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/datasource/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/datasource/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/datasource/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/datasource/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/datasource/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/datasource/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/event/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur Event - Overview</title>
<authors>
<person name="????" email="???"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
???
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:48 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/event/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/event/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/event/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/event/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/event/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/event/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/event/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Event - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Event - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Event - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:???">????</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
???
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/extension/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur Extension - Overview</title>
<authors>
<person name="????" email="???"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<warn>
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
You can find this in the Scratchpad.jar file if you want
to play with it. Do not blame us if the next release of
Excalibur breaks your code if you use this package.
</warn>
<p>
Utility classes that contains methods to scan a manifest
and return an array of either available or required optional packages
documented in that manifest.
</p>
<p>
For more information about optional packages, see the document
<em>Optional Package Versioning</em> in the documentation bundle
for your Java2 Standard Edition package, in the file
<code>guide/extensions/versioning.html</code>.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:48 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/extension/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/extension/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/extension/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/extension/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/extension/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/extension/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/extension/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Extension - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Extension - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Extension - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:???">????</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td bgcolor="#c0c0c0"><font size="-1" color="#023264">
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
You can find this in the Scratchpad.jar file if you want
to play with it. Do not blame us if the next release of
Excalibur breaks your code if you use this package.
</font></td>
</tr>
</table>
</div>
<p align="justify">
Utility classes that contains methods to scan a manifest
and return an array of either available or required optional packages
documented in that manifest.
</p>
<p align="justify">
For more information about optional packages, see the document
<em>Optional Package Versioning</em> in the documentation bundle
for your Java2 Standard Edition package, in the file
<code>guide/extensions/versioning.html</code>.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/il8n/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur Internationalization - Overview</title>
<authors>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
<person name="Leo Simons" email="mail@leosimons.com"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
Excalibur's Internationalization package is found in
<code>org.apache.avalon.excalibur.i18n</code>. Avalon
Excalibur includes a method of managing resources, and
an interface for specifying the resource. Support for
XML resource bundles are still under development.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:49 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/il8n/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/il8n/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/il8n/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/il8n/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/il8n/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/il8n/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/il8n/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Internationalization - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Internationalization - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Internationalization - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Excalibur's Internationalization package is found in
<code>org.apache.avalon.excalibur.i18n</code>. Avalon
Excalibur includes a method of managing resources, and
an interface for specifying the resource. Support for
XML resource bundles are still under development.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/io/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur I/O Extensions - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur I/O Extensions - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur I/O Extensions - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>, <a href="mailto:jefft@apache.org">Jeff Turner</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">Avalon Excalibur's Input/Output utilities are in package
<code>org.apache.avalon.excalibur.io</code>.</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Copy methods</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">Excalibur's IO package contains a comprehensive set of routines for
copying bytes and chars. Routines exist for copying from:
<code>String</code>, <code>byte[]</code>, <code>Reader</code> and
<code>InputStream</code>,
to:
<code>String</code>, <code>byte[]</code>, <code>Writer</code> and
<code>OutputStream</code>.
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="ddeeff"><font face="arial,helvetica,sanserif" color="#000000" size="+0"><b>Useful java.io.FileFilters</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Excalibur includes a number of FileFilters that you can use for your
own purposes. This fills a gap in the Java runtime because the
interface was specified but no implementations were given.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/lang/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Language Utilities - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Language Utilities - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Language Utilities - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This project contains lang utilities.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/logger/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Logger - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Logger - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Logger - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:giacomo@apache.org">Giacomo Pati</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Find Avalon Excalibur's LogKit Management System in the
<code>org.apache.avalon.excalibur.logger</code> package.
The LogKit Management System integrates neatly into the Avalon
Excalibur's Component Management System. The main goal is to
be able to define the log categories on a component basis by
specifying a 'logger' attribute which denotes the log category
to use for a particular <code>Component</code> (given the
<code>Component</code> is <code>Loggable</code>).
</p>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Example configurations</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Look at this example of a component definition:
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
<component role="my.component.role" class="my.component.roleImpl"
logger="category.subcategory"/>
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">
And now let's have a look at a hypothetical LogKit Management configuration:
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
<?xml version="1.0"?>
<logkit>
<factories>
<factory type="file" class="org.apache.avalon.excalibur.logger.factory.FileTargetFactory"/>
<factory type="priority-filter"
class="org.apache.avalon.excalibur.logger.factory.PriorityFilterTargetFactory"/>
</factories>
<targets>
<file id="root">
<filename>lolo/${current-dir}/lala/${foo}/logs/main.log</filename>
<format type="exteded">
%7.7{priority} %5.5{time} [%8.8{category}] (%{context}): %{message}\n%{throwable}
</format>
<append>true</append>
</file>
<file id="classloader">
<filename>logs/classloader.log</filename>
<format type="raw"/>
</file>
<priority-filter id="foo" log-level="WARN">
<file>
<filename>logs/foo.log</filename>
<format type="extended">%7.7{priority} %5.5{time}: %{message}\n%{throwable}</format>
</file>
</priority-filter>
</targets>
<categories>
<category name="cocoon" log-level="INFO">
<log-target id-ref="root"/>
<category name="classloader" log-level="DEBUG">
<log-target id-ref="classloader"/>
</category>
</category>
<category name="foo" log-level="DEBUG">
<log-target id-ref="foo"/>
</category>
</categories>
</logkit>
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">
As you've seen the configuration file for the LokKit
Management System has three sections (beside the
root element which is <logkit>).
</p>
<dl>
<dt><factories></dt>
<dd>
The factories section defines the
<code>LogTargetFactory</code>s
that are used to create the needed
<code>LogTargets</code>. You'll
find the factories available in the
<code>org.apache.avalon.excalibur.logger.factory</code>
package. You can write your own factories which
only needs to implement the
<code>org.apache.avalon.excalibur.logger.LogTargetFactory</code>
interface or you extend one of the available factories
in the mentioned package.
</dd>
<dt><targets></dt>
<dd>
The targets section defines the individual
<code>LogTargets</code>.
The element name of a target definition corresponds
to a type attribute of a <factory> element. You'll
probably need to consult the javadocs of the corresponding
factory to get familiar with the configuration
options available for a particular target.
</dd>
<dt><categories></dt>
<dd>
The categories section finally assembles all together. The
name attribute of a category gives the reference used in
logger attribute in the components configuration files.
The log-level attribute gives the logging priority to the
<code>Logger</code> of that category. <category>
elements have <log-targets> children which, you
already guessed, defines the <code>LogTarget</code>s
for a particular logging category. You'll also see in the
sample above that category elements can be nested to define
sub-categories.
</dd>
</dl>
</font></td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Design principles and implementation details of the LogKit Management System</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The first abstraction is the <code>LogKitManager</code>:
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
public interface LogKitManager
{
Logger getLogger( String categoryName );
}
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">
There is a implementation named <code>DefaultLogKitManager</code>
which is the only class exposed to clients. As a convenient a
additional interface is introduced for the
<code>ComponentManager</code> (stolen from the role management
system) which states that a class is willing to get a
<code>LogKitManager</code>:
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
public interface LogKitManageable
{
void setLogKitManager( LogKitManager logmanager );
}
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">
This method has to be called before the configure method but after the
contextualize method.
</p>
<p align="justify">
The <code>DefaultLogKitManager</code> is <code>Configurable</code>
(as well as <code>Loggable</code> [the initial default logger] and
<code>Contextualizable</code> [to pass along for ie.
<code>ServletOutputLogTarget</code>]) and gets a
<code>Configuration</code> object as expressed in the logkit
xml syntax above. This <code>DefaultLogKitManager</code> then uses
a object of type
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
public interface LogTargetFactoryManager
{
LogTargetFactory getLogTargetFactory( String factoryName );
}
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">
The <code>DefaultLogTargetFactoryManager</code> is
<code>Configurable</code> (as well as <code>Loggable</code> and
<code>Contextualizable</code>) and gets the
<code>Configuration</code> object located at the <factories>
element. It will instanciate the concrete factories into a map
keyed by the type attribute. So we are at the
<code>LogTargetFactory</code> abstraction which is:
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
public interface LogTargetFactory
{
LogTarget createTarget( Configuration configuration )
throws ConfigurationException;
}
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">
It may happen that a <code>LogTargetFactory</code> needs to
create <code>LogTarget</code>s they don't know in advance
and thus an additional interface is needed:
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
public interface LogTargetFactoryManageable
{
void setLogTargetFactoryManager( LogTargetFactoryManager logTargetFactoryManager );
}
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">
This eases writing factories which acts like decorators
(<code>AsyncLogTarget</code>, <code>PriorityFilter</code>)
and thus need a LogTargetFactoryManager to create the decorated
<code>LogTargets</code> which are embeded in the configuration
of them (see <priority-filter> above).
</p>
<p align="justify">
After initializing the <code>LogTargetFactoryManager</code> a
<code>LogTargetManager</code>
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
public interface LogTargetManager
{
LogTarget getLogTarget( String targetId );
}
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">
is created. The implementation <code>DefaultLogTargetManager</code>
is, you guess it, <code>Configurable</code> (as well as
<code>Loggable</code> and <code>Contextualizable</code>). The
<code>Configuration</code> object is the <targets> element
in the xml syntax and is put into a map keyed by the id
attribute of the target element. It is also
<code>LogTargetFactoryManageable</code> tob e able to create
the <code>LogTargets</code>.
</p>
<p align="justify">
The last step of the <code>DefaultLogKitManagers</code> configure
method is to create the actual categories based on the categories
elements content. It does it as the syntax will show in a
recursive way populating the Loggers retrieved by
<code>Hierarchy.getDefaultHierarchy().getLoggerFor( full_category )</code>
with the denoted <code>LogTargets</code> from the
<code>LogTargetManager</code>.
</p>
<p align="justify">
After that the <code>LogKitManager</code> is ready to be asked
for <code>Logger</code>s.
</p>
<p align="justify">
Now Avalon's Automated Component Management System is aware of a
"magic attributes" named logger and used like
<code>logger="category"</code> on the component definition syntax.
The classes building up Avalon's Automated Component Management System
are made <code>LogTargetFactoryManageable</code>. If you pass along
a <code>LogKitManager</code> to the <code>ExcaliburComponentManager</code>
the Component Management System will retrieve the denoted logger
category specified with the logger attribute from the
<code>LogKitManager</code> and pass it to <code>Component</code>s
implementing <code>Loggable</code>.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/naming/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur Naming Utilities - Overview</title>
<authors>
<person name="????" email="???"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
???
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:49 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/naming/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/naming/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/naming/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/naming/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/naming/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/naming/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/naming/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Naming Utilities - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Naming Utilities - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Naming Utilities - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:???">????</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
???
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/pool/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Excalibur Resource Pool Support - Overview</title>
<authors>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
<person name="Leo Simons" email="mail@leosimons.com"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
Find Avalon Excalibur's Pool implementations in the
<code>org.apache.avalon.excalibur.pool</code> package.
There are many implementations that are ThreadSafe, and
one that is not. You have the option of not limiting
used resources at all, or limiting the used resources
based on specific rules.
</p>
<p>
If you are using the Exalibur Component Management package,
you can have your components implement Poolable or Recyclable
from this package, and your components will be pooled. The
Components are pooled with a soft resource limiting pool.
That means that as additional resources are needed, they are
created--but once they are returned to the pool, the extra
instances are decommissioned.
</p>
<p>
The Excalibur DataSources package also uses this package,
and uses a hard resource limiting pool. If the number of
open JDBC Connections exceeds the limit, an exception is
thrown.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:49 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/pool/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/pool/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/pool/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/pool/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/pool/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/pool/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/pool/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Resource Pool Support - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Resource Pool Support - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Resource Pool Support - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Find Avalon Excalibur's Pool implementations in the
<code>org.apache.avalon.excalibur.pool</code> package.
There are many implementations that are ThreadSafe, and
one that is not. You have the option of not limiting
used resources at all, or limiting the used resources
based on specific rules.
</p>
<p align="justify">
If you are using the Exalibur Component Management package,
you can have your components implement Poolable or Recyclable
from this package, and your components will be pooled. The
Components are pooled with a soft resource limiting pool.
That means that as additional resources are needed, they are
created--but once they are returned to the pool, the extra
instances are decommissioned.
</p>
<p align="justify">
The Excalibur DataSources package also uses this package,
and uses a hard resource limiting pool. If the number of
open JDBC Connections exceeds the limit, an exception is
thrown.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/property/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Excalibur Properties Utilities - Overview</title>
<authors>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
<person name="Leo Simons" email="mail@leosimons.com"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
Avalon Excalibur uses the properties package located at
<code>org.apache.avalon.excalibur.properties</code> to
decode resolvable properties. The Avalon Framework Context
object stores values based on name/value pairs. If the
value is resolvable, then it is possible to alter the
value based on another value in the Context.
</p>
<p>
For example, you can get a Context value like this:
</p>
<source>
Object val =
PropertyUtil.resolveProperty("component-${parent}", mycontext, false);
</source>
<p>
The PropertyUtil will first lookup the value named "parent" from the context,
and replace "${parent}" with the value of what "parent" was (for our purpose we
will say it was "foo"). Then it will look up the value of "component-foo" from
the Context. The last parameter if true will not throw an exception if the
resource was not found, and if false will throw an exception.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:50 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/property/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/property/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/property/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/property/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/property/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/property/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/property/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Properties Utilities - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Properties Utilities - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Properties Utilities - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
Avalon Excalibur uses the properties package located at
<code>org.apache.avalon.excalibur.properties</code> to
decode resolvable properties. The Avalon Framework Context
object stores values based on name/value pairs. If the
value is resolvable, then it is possible to alter the
value based on another value in the Context.
</p>
<p align="justify">
For example, you can get a Context value like this:
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
Object val =
PropertyUtil.resolveProperty("component-${parent}", mycontext, false);
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">
The PropertyUtil will first lookup the value named "parent" from the context,
and replace "${parent}" with the value of what "parent" was (for our purpose we
will say it was "foo"). Then it will look up the value of "component-foo" from
the Context. The last parameter if true will not throw an exception if the
resource was not found, and if false will throw an exception.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/proxy/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Excalibur Dynamic Proxy - Overview</title>
<authors>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
<person name="Leo Simons" email="mail@leosimons.com"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
The Proxy code was designed to give the power of JDK-1.3
proxies to JDK-1.2 environments. The package is in the
Scratchpad jar under <code>org.apache.avalon.excalibur.proxy</code>.
The future of this code is uncertain if we choose to upgrade
the JDK requirements to JDK-1.3 or better. Be assured that
such a move will not be done unless JDK-1.3 is readily available
on just about every platform including BSD derivatives.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:52 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/proxy/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/proxy/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/proxy/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/proxy/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/proxy/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/proxy/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/proxy/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Dynamic Proxy - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Dynamic Proxy - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Dynamic Proxy - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
The Proxy code was designed to give the power of JDK-1.3
proxies to JDK-1.2 environments. The package is in the
Scratchpad jar under <code>org.apache.avalon.excalibur.proxy</code>.
The future of this code is uncertain if we choose to upgrade
the JDK requirements to JDK-1.3 or better. Be assured that
such a move will not be done unless JDK-1.3 is readily available
on just about every platform including BSD derivatives.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/source/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Excalibur Source Resolving - Overview</title>
<authors>
<person name="Carsten Ziegeler" email="cziegeler@apache.org"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
A very common problem is resolving a source, which means
finding a source using a URI.
</p>
<p>
The source resolver of Avalon Excalibur is a component
helping you in this task. It resolves sources from a given
URI. The URI can use all available protocols of the JDK.
In addition own protocols can be plugged-in.
</p>
<p>
The architecture of this package is simple but powerful.
The main component is the SourceResolver. It is used
to resolve any URI. If the SourceResolver can resolve the
protocol of the URI it returns a Source object. This Source
object is an abstraction of the underlying resource. This
resource can be accessed by a provided InputStream.
</p>
<p>
Own protocols can be configured using the SourceFactory interface.
Whenever the SourceResolver finds a protocol which it can't handle
by itself, it gets a role selector for a SourceFactory and tries
to get a component with the role name of the protocol.
If such a factory exists, the source creation is passed on to this
factory.
</p>
<p>
The Source object is handled similar to any other Avalon component.
After it has been used it must be released using SourceResolver.
In addition the implementation of the Source object can implement
any of the lifecycle interfaces of usual components and it gets
all the information from the SourceResolver.
</p>
<p>
The Source object is a lightwight object which can be extended with
several interface. For example the XMLizable interface from the XML
package to generate SAX events from the Source. Or the Monitorable
interface from the monitor package to monitor the resource.
</p>
<p>
For caching purposes the Source object offers a SourceValidity object
which can be used in addition to the system ID of the Source to verify
if the cache contains a valid version of the Source object.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:52 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/source/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/source/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/source/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/source/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/source/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/source/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/source/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Source Resolving - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Source Resolving - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Source Resolving - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
A very common problem is resolving a source, which means
finding a source using a URI.
</p>
<p align="justify">
The source resolver of Avalon Excalibur is a component
helping you in this task. It resolves sources from a given
URI. The URI can use all available protocols of the JDK.
In addition own protocols can be plugged-in.
</p>
<p align="justify">
The architecture of this package is simple but powerful.
The main component is the SourceResolver. It is used
to resolve any URI. If the SourceResolver can resolve the
protocol of the URI it returns a Source object. This Source
object is an abstraction of the underlying resource. This
resource can be accessed by a provided InputStream.
</p>
<p align="justify">
Own protocols can be configured using the SourceFactory interface.
Whenever the SourceResolver finds a protocol which it can't handle
by itself, it gets a role selector for a SourceFactory and tries
to get a component with the role name of the protocol.
If such a factory exists, the source creation is passed on to this
factory.
</p>
<p align="justify">
The Source object is handled similar to any other Avalon component.
After it has been used it must be released using SourceResolver.
In addition the implementation of the Source object can implement
any of the lifecycle interfaces of usual components and it gets
all the information from the SourceResolver.
</p>
<p align="justify">
The Source object is a lightwight object which can be extended with
several interface. For example the XMLizable interface from the XML
package to generate SAX events from the Source. Or the Monitorable
interface from the monitor package to monitor the resource.
</p>
<p align="justify">
For caching purposes the Source object offers a SourceValidity object
which can be used in addition to the system ID of the Source to verify
if the cache contains a valid version of the Source object.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/tar/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur TAR Utilities - Overview</title>
<authors>
<person name="????" email="???"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
???
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:53 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/tar/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/tar/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/tar/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/tar/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/tar/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/tar/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/tar/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur TAR Utilities - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur TAR Utilities - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur TAR Utilities - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:???">????</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
???
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/testcase/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Excalibur TestCase Utilities - Overview</title>
<authors>
<person name="Peter Donald" email="peter@apache.org"/>
<person name="Leif Mortenson" email="leif@tanukisoftware.com"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
This project contains utilities which can be used to write Excalibur Test Cases.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:54 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/testcase/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/testcase/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/testcase/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/testcase/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/testcase/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/testcase/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/testcase/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur TestCase Utilities - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur TestCase Utilities - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur TestCase Utilities - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:peter@apache.org">Peter Donald</a>, <a href="mailto:leif@tanukisoftware.com">Leif Mortenson</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This project contains utilities which can be used to write Excalibur Test Cases.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/thread/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Excalibur Thread Pool Utilities - Overview</title>
<authors>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
<person name="Leo Simons" email="mail@leosimons.com"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<warn>
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
You can find this in the Scratchpad.jar file if you want
to play with it. Do not blame us if the next release of
Excalibur breaks your code if you use this package.
</warn>
<p>
Avalon Excalibur's Thread Pool Management code is still under
development. The package is <code>org.apache.avalon.excalibur.thread</code>
in the Scratchpad jar. It is functional, using the no resource
limiting pool implementation in Excalibur's Pool package. Expect
the interface to this change before we promote it to Excalibur.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:54 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/thread/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/thread/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/thread/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/thread/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/thread/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/thread/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/thread/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Thread Pool Utilities - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Thread Pool Utilities - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Thread Pool Utilities - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td bgcolor="#c0c0c0"><font size="-1" color="#023264">
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
You can find this in the Scratchpad.jar file if you want
to play with it. Do not blame us if the next release of
Excalibur breaks your code if you use this package.
</font></td>
</tr>
</table>
</div>
<p align="justify">
Avalon Excalibur's Thread Pool Management code is still under
development. The package is <code>org.apache.avalon.excalibur.thread</code>
in the Scratchpad jar. It is functional, using the no resource
limiting pool implementation in Excalibur's Pool package. Expect
the interface to this change before we promote it to Excalibur.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/util/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Excalibur Utilities - Overview</title>
<authors>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
<person name="Peter Donald" email="peter@apache.org"/>
<person name="Leif Mortenson" email="leif@tanukisoftware.com"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
This project contains some utilities used by other Excalibur classes.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:55 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/util/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/util/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/util/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/util/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/util/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/util/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/util/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur Utilities - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur Utilities - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur Utilities - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:peter@apache.org">Peter Donald</a>, <a href="mailto:leif@tanukisoftware.com">Leif Mortenson</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
This project contains some utilities used by other Excalibur classes.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/xmlbundle/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Excalibur XML Resource Bundles - Overview</title>
<authors>
<person name="Berin Loritsch" email="bloritsch@apache.org"/>
<person name="Leo Simons" email="mail@leosimons.com"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<warn>
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
You can find this in the Scratchpad.jar file if you want
to play with it. Do not blame us if the next release of
Excalibur breaks your code if you use this package.
</warn>
<p>
Excalibur's Internationalization package is found in
<code>org.apache.avalon.excalibur.i18n</code> (in the
Scratchpad jar). The XML ResourceBundle code is functional,
but the method to access the bundles will change in the
near future.
</p>
<p>
The Avalon team recognizes the importance of good
internationalization packages, and as a result, will do
our best to provide this functionality officially as
soon as we can. We also recognize the importance of
good design, so we do not want to rush this any more
than we have to.
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:55 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/xmlbundle/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/xmlbundle/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/xmlbundle/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/xmlbundle/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/xmlbundle/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/xmlbundle/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/xmlbundle/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur XML Resource Bundles - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur XML Resource Bundles - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur XML Resource Bundles - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>, <a href="mailto:mail@leosimons.com">Leo Simons</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td bgcolor="#c0c0c0"><font size="-1" color="#023264">
This package is under development, and the API is not
guaranteed to be the same when it is ready for release.
You can find this in the Scratchpad.jar file if you want
to play with it. Do not blame us if the next release of
Excalibur breaks your code if you use this package.
</font></td>
</tr>
</table>
</div>
<p align="justify">
Excalibur's Internationalization package is found in
<code>org.apache.avalon.excalibur.i18n</code> (in the
Scratchpad jar). The XML ResourceBundle code is functional,
but the method to access the bundles will change in the
near future.
</p>
<p align="justify">
The Avalon team recognizes the importance of good
internationalization packages, and as a result, will do
our best to provide this functionality officially as
soon as we can. We also recognize the importance of
good design, so we do not want to rush this any more
than we have to.
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
1.1 jakarta-avalon-site/docs/excalibur/zip/api/index.html.xml
Index: index.html.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Excalibur ZIP Utilities - Overview</title>
<authors>
<person name="????" email="???"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
???
</p>
</s1>
</body>
<footer>
<legal>
Copyright (c) 2000-2002 The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/04/05 15:11:55 $
</legal>
</footer>
</document>
1.1 jakarta-avalon-site/docs/excalibur/zip/images/add.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/zip/images/fix.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/zip/images/header.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/zip/images/jakarta-logo.gif
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/zip/images/remove.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/zip/images/update.jpg
<<Binary file>>
1.1 jakarta-avalon-site/docs/excalibur/zip/index.html
Index: index.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excalibur ZIP Utilities - Overview</title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<br>
<a href="http://jakarta.apache.org/avalon"><font size="+1" color="#778899">Back to Avalon</font></a>
<br>
<br>
<a href="../index.html"><font size="+1" color="#778899">Back to Excalibur</font></a>
<br>
<br>
<font size="+1" color="#000000">About</font>
<br>
<font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/excalibur/index.html"><font size="-1">Excalibur Home</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-avalon/apps"><font size="-1">Download</font></a>
</li>
<li>
<a href="api/index.html.xml"><font size="-1">API Docs</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*">
<title>Excalibur ZIP Utilities - Overview</title>
<center>
<table width="100%">
<tr>
<td bgcolor="#99aabb">
<center>
<b><font face="arial,helvetica,sanserif" color="#000000" size="+2">Excalibur ZIP Utilities - Overview</font></b>
</center>
</td>
</tr>
</table>
</center>
<br>
<font size="-2" face="arial,helvetica,sanserif" color="#000000">
<p>by <a href="mailto:???">????</a>
</p>
</font><font face="arial,helvetica,sanserif" color="#000000"></font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="bbccdd"><font face="arial,helvetica,sanserif" color="#000000" size="+1"><b>Introduction</b></font></td>
</tr>
<tr>
<td><font face="arial,helvetica,sanserif" color="#000000">
<br>
<p align="justify">
???
</p>
</font></td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<br>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
Copyright ©1999-2002 by the Apache Software Foundation.
All Rights Reserved.
</i></font></td>
</tr>
</table>
</body>
</html>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>