cziegeler 01/07/03 00:50:14
Modified: xdocs avalon.xml
Log:
Fixed package names, avalon url and added the special pool configuration attributes
Revision Changes Path
1.2 +48 -10 xml-cocoon2/xdocs/avalon.xml
Index: avalon.xml
===================================================================
RCS file: /home/cvs/xml-cocoon2/xdocs/avalon.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- avalon.xml 2001/05/09 20:50:24 1.1
+++ avalon.xml 2001/07/03 07:50:10 1.2
@@ -4,9 +4,12 @@
<header>
<title>Avalon</title>
<subtitle>for Cocoon 2</subtitle>
- <version>0.1</version>
+ <version>0.2</version>
<type>Technical document</type>
- <authors><person name="Tom Klaasen" email="[EMAIL PROTECTED]"/>
+ <authors>
+ <person name="Tom Klaasen" email="[EMAIL PROTECTED]"/>
+ <person name="Berin Loritsch" email="[EMAIL PROTECTED]"/>
+ <person name="Carsten Ziegeler" email="[EMAIL PROTECTED]"/>
</authors>
<abstract>This document tries to give the basic knowledge of Avalon that is
necessary to understand Apache Cocoon 2.</abstract>
@@ -18,17 +21,19 @@
<p>People that are trying to understand Avalon in depth, will probably
not be much helped by this document. But if you want to understand
Cocoon 2,
you have to have a basic grasp of Avalon. </p>
+ <p>The document also contains the basic configuration steps for
+ configuring Avalon components within Cocoon 2.</p>
<p>Much of this document is copied and pasted from original Avalon
documentation. However, I hope that the fact that all things
relevant for
- Cocoon are put together in one place, will help you to understand
Cocoon 2
+ Cocoon 2 are put together in one place, will help you to understand
Cocoon 2
faster.</p>
<p>For people wishing to learn Avalon in-depth,
- <link href="http://java.apache.org/framework/index.html">this is
your starting
+ <link href="http://jakarta.apache.org/avalon/index.html">this is
your starting
point</link>.</p>
</s1>
<s1 title="Overview">
<p>For a mission statement of Apache Avalon, please read
- <link href="http://java.apache.org/framework/index.html">the Avalon
+ <link href="http://jakarta.apache.org/avalon/index.html">the Avalon
homepage</link>.</p>
<p>In short, Avalon tries to take design efforts away from server-side
programmers by providing a framework that </p>
@@ -41,7 +46,7 @@
<s1 title="The classes and interfaces">
<p>These classes and interfaces are extensively used by Cocoon 2:</p>
<s2 title="ComponentManager">
- <p><code>org.apache.avalon.ComponentManager</code></p>
+
<p><code>org.apache.avalon.framework.component.ComponentManager</code></p>
<p>A <code>ComponentManager</code> selects <code>Component</code>s
based on a role. The contract is that all the
<code>Component</code>s implement
the differing roles and there is one <code>Component</code>
per role. If you
@@ -55,14 +60,14 @@
<p>The <code>Cocoon</code> class implements e.g. the
<code>ComponentManager</code> interface.</p>
</s2>
- <s2 title="Composer">
- <p><code>org.apache.avalon.Composer</code></p>
+ <s2 title="Composable">
+ <p><code>org.apache.avalon.framework.component.Composable</code></p>
<p>A <code>Composer</code> is a class that need to connect to
software
components using a "role" abstraction, thus not depending on
particular
implementations but on behavioral interfaces. </p>
</s2>
<s2 title="Component">
- <p><code>org.apache.avalon.Component</code></p>
+ <p><code>org.apache.avalon.framework.component.Component</code></p>
<p>This interface identifies classes that can be used as
<code>Components</code> by a <code>Composer</code>. </p>
<p>A <code>Component</code> is the basic building block of Avalon.
When
@@ -75,7 +80,7 @@
<code>cocoon.xconf</code>.</p>
</s2>
<s2 title="Configuration">
- <p><code>org.apache.avalon.Configuration</code></p>
+
<p><code>org.apache.avalon.framework.configuration.Configuration</code></p>
<p><code>Configuration</code> is a interface encapsulating a
configuration node used to retrieve configuration values.
This is a "read only"
interface preventing applications from modifying their own
configurations. The
@@ -83,11 +88,44 @@
information never changes. The <code>Configuration</code> is
built by the
<code>ConfigurationBuilder</code>.</p>
</s2>
+ <s2 title="Configurable">
+
<p><code>org.apache.avalon.framework.configuration.Configurable</code></p>
+ <p><code>Configurable</code> is a interface describing a component
which
+ can be configured. This component gets a
<code>Configuration</code>
+ object as input.</p>
+ </s2>
<s2 title="ConfigurationBuilder">
<p><code>org.apache.avalon.ConfigurationBuilder</code></p>
<p>A <code>ConfigurationBuilder</code> builds
<code>Configuration</code>s.</p>
</s2>
</s1>
+ <s1 title="Configuration">
+ <p>Most available Avalon components are configured in the
cocoon.xconf.</p>
+ <s2 title="Pooling configuration">
+ <p>Avalon now incorporates a couple of modifiers for a
Component
+ definition that allows you to control the number of Components
+ in a pool, and how quickly it grows. This is especially
helpful
+ in Cocoon 2 where the defaults don't always work well.</p>
+ <p>The magic attributes are "pool-min", "pool-max", and
"pool-grow".
+ The defaults are:</p>
+ <ol>
+ <li>pool-max: 8</li>
+ <li>pool-min: 2</li>
+ <li>pool-grow: pool-min (2)</li>
+ </ol>
+ <p>What this means is that the pool for the default component
initially
+ contains 2 instances, and if demand exceeds that the pool will
increase
+ by two components at a time up to 8 instances. Beyond that
the pool
+ turns into a factory in that new Component instances are
created, but
+ destroyed when they are returned. This is a performance
issue--but
+ it does manage the number of instances available at one
time.</p>
+ <p>Please note that if
+ not specified, "pool-grow" always matches "pool-min". If not
specified
+ "pool-min" always equals "2". If you specify the minimum
being higher
+ than the maximum, then the maximum will match the minimum, and
the pool
+ will be fully filled on initialization.</p>
+ </s2>
+ </s1>
</body>
</document>
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]