Return-Path: Delivered-To: apmail-xml-cocoon-cvs-archive@xml.apache.org Received: (qmail 87802 invoked by uid 500); 3 Jul 2001 07:49:47 -0000 Mailing-List: contact cocoon-cvs-help@xml.apache.org; run by ezmlm Precedence: bulk Reply-To: cocoon-dev@xml.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list cocoon-cvs@xml.apache.org Received: (qmail 87786 invoked by uid 500); 3 Jul 2001 07:49:42 -0000 Delivered-To: apmail-xml-cocoon2-cvs@apache.org Date: 3 Jul 2001 07:49:39 -0000 Message-ID: <20010703074939.87770.qmail@apache.org> From: cziegeler@apache.org To: xml-cocoon2-cvs@apache.org Subject: cvs commit: xml-cocoon2/xdocs avalon.xml cziegeler 01/07/03 00:49:39 Modified: xdocs Tag: cocoon_20_branch avalon.xml Log: Fixed package names, avalon url and added the special pool configuration attributes Revision Changes Path No revision No revision 1.1.1.1.2.1 +48 -10 xml-cocoon2/xdocs/avalon.xml Index: avalon.xml =================================================================== RCS file: /home/cvs/xml-cocoon2/xdocs/avalon.xml,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- avalon.xml 2001/05/09 20:50:24 1.1.1.1 +++ avalon.xml 2001/07/03 07:49:34 1.1.1.1.2.1 @@ -4,9 +4,12 @@
Avalon for Cocoon 2 - 0.1 + 0.2 Technical document - + + + + This document tries to give the basic knowledge of Avalon that is necessary to understand Apache Cocoon 2. @@ -18,17 +21,19 @@

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.

+

The document also contains the basic configuration steps for + configuring Avalon components within Cocoon 2.

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.

For people wishing to learn Avalon in-depth, - this is your starting + this is your starting point.

For a mission statement of Apache Avalon, please read - the Avalon + the Avalon homepage.

In short, Avalon tries to take design efforts away from server-side programmers by providing a framework that

@@ -41,7 +46,7 @@

These classes and interfaces are extensively used by Cocoon 2:

-

org.apache.avalon.ComponentManager

+

org.apache.avalon.framework.component.ComponentManager

A ComponentManager selects Components based on a role. The contract is that all the Components implement the differing roles and there is one Component per role. If you @@ -55,14 +60,14 @@

The Cocoon class implements e.g. the ComponentManager interface.

- -

org.apache.avalon.Composer

+ +

org.apache.avalon.framework.component.Composable

A Composer is a class that need to connect to software components using a "role" abstraction, thus not depending on particular implementations but on behavioral interfaces.

-

org.apache.avalon.Component

+

org.apache.avalon.framework.component.Component

This interface identifies classes that can be used as Components by a Composer.

A Component is the basic building block of Avalon. When @@ -75,7 +80,7 @@ cocoon.xconf.

-

org.apache.avalon.Configuration

+

org.apache.avalon.framework.configuration.Configuration

Configuration 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 Configuration is built by the ConfigurationBuilder.

+ +

org.apache.avalon.framework.configuration.Configurable

+

Configurable is a interface describing a component which + can be configured. This component gets a Configuration + object as input.

+

org.apache.avalon.ConfigurationBuilder

A ConfigurationBuilder builds Configurations.

+ +

Most available Avalon components are configured in the cocoon.xconf.

+ +

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.

+

The magic attributes are "pool-min", "pool-max", and "pool-grow". + The defaults are:

+
    +
  1. pool-max: 8
  2. +
  3. pool-min: 2
  4. +
  5. pool-grow: pool-min (2)
  6. +
+

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.

+

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.

+
+
---------------------------------------------------------------------- In case of troubles, e-mail: webmaster@xml.apache.org To unsubscribe, e-mail: cocoon-cvs-unsubscribe@xml.apache.org For additional commands, e-mail: cocoon-cvs-help@xml.apache.org