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/06/09 21:34:59 UTC
cvs commit: jakarta-avalon/src/xdocs/framework reference-containers.xml book.xml reference-the-lifecycle.xml
hammant 2002/06/09 12:34:59
Modified: src/xdocs/framework book.xml reference-the-lifecycle.xml
Added: src/xdocs/framework reference-containers.xml
Log:
More words.
Revision Changes Path
1.14 +1 -0 jakarta-avalon/src/xdocs/framework/book.xml
Index: book.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon/src/xdocs/framework/book.xml,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- book.xml 30 May 2002 16:28:17 -0000 1.13
+++ book.xml 9 Jun 2002 19:34:59 -0000 1.14
@@ -32,6 +32,7 @@
<menu-item type="external" id="api-docs" label="API Docs" href="@AVALON_BASE@/api/index.html"/>
<menu-item type="external" id="diagrams" label="Diagrams Docs" href="diagrams/"/>
<menu-item label="The Lifecycle" href="reference-the-lifecycle.html"/>
+ <menu-item label="Containers" href="reference-containers.html"/>
</menu>
<menu label="For Developers">
1.2 +43 -24 jakarta-avalon/src/xdocs/framework/reference-the-lifecycle.xml
Index: reference-the-lifecycle.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon/src/xdocs/framework/reference-the-lifecycle.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- reference-the-lifecycle.xml 3 May 2002 10:19:53 -0000 1.1
+++ reference-the-lifecycle.xml 9 Jun 2002 19:34:59 -0000 1.2
@@ -14,15 +14,25 @@
<body>
<s1 title="Introduction">
<p>
- A Component lives within something called a container. Avalon provides an
- application that functions as a container for Applications (which are
- Components) called <link href="@PHOENIX_BASE@/index.html">Phoenix</link>.
- You can also create your own Components that function as a container.
+ A Component lives within something called a container. The contract between a
+ container and a contained Component is simple: the container is required to
+ take a Component through what is called its <strong>lifecycle</strong>.
</p>
<p>
- The contract between a container and a contained Component is simple: the
- container is required to take a Component through what is called its
- <strong>lifecycle</strong>.
+ The Avalon project provides an
+ application that functions as a container for componentized applications
+ called <link href="@PHOENIX_BASE@/index.html">Phoenix</link>. This is not
+ exclusive, components adhering to lifecycle interfaces, can be mounted in
+ custom containers. Cocoon and others mounts their own containers for
+ components and invoke relevant methods from the lifecycle interfaces. See
+ <link href="reference-containers.html">Containers</link>.
+ </p>
+ <p>
+ The lifecyle methods from Avalon Framework sub-project are designed to be
+ used by just about any component hosted by any container. Of course, the API
+ in question may well require additional interfaces for strongly typed
+ functionality, but these interfaces should negate the need for any duplication
+ of effort.
</p>
</s1>
<s1 title="The Lifecycle">
@@ -35,7 +45,7 @@
<p>
It is up to each container to indicate which lifecycle methods it will honor.
This should be clearly documented together with the description of the
- container. Phoenix supports all of the lifecycle methods defined in the
+ container. A sister project to Phoenix supports all of the lifecycle methods defined in the
Avalon Framework API.
</p>
</s1>
@@ -65,7 +75,7 @@
<strong>Note:</strong>java.lang.Runnable has also been in use as a lifecycle
interface. This is not recommended and is not supported by Avalon. Instead,
the run() method is the responsibility of the Component itself. If you wish
- to use it, call it from within start() or another method.
+ to use it, call it from within start() or another method.
</note>
</s1>
<s1 title="Phase order">
@@ -95,30 +105,39 @@
<p>
If a <code>Component</code> implements more than one interface the order of
the events (compose, configure etc.) follow a specific order. A Component
- implementing all above interfaces (including Runnable) will follow this
- specific path:
+ implementing all above interfaces (including Runnable) will follow these
+ specific paths.
+ </p>
+ <p>
+ Startup Phase:
</p>
<ol>
- <li>constructor</li>
+ <li>constructor <strong>as a consequence of instantiation</strong></li>
<li>contextualize</li>
<li>compose</li>
<li>configure</li>
<li>parameterize</li>
<li>initialize</li>
<li>start</li>
- <li>
- <ol>
- <li>suspend</li>
- <li>recontextualize</li>
- <li>recompose</li>
- <li>reconfigure</li>
- <li>reparameterize</li>
- <li>resume</li>
- </ol>
- </li>
+ </ol>
+ <p>
+ At various or repeated times after startup:
+ </p>
+ <ol>
+ <li>suspend</li>
+ <li>recontextualize</li>
+ <li>recompose</li>
+ <li>reconfigure</li>
+ <li>reparameterize</li>
+ <li>resume</li>
+ </ol>
+ <p>
+ Shutdown Phase:
+ </p>
+ <ol>
<li>stop</li>
<li>dispose</li>
- <li>finalize</li>
+ <li>finalize <strong>at some indeterminate moment by the garbage collector</strong></li>
</ol>
</s2>
<s2 title="Phases executed once">
@@ -214,7 +233,7 @@
<footer>
<legal>
Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
- $Revision: 1.1 $ $Date: 2002/05/03 10:19:53 $
+ $Revision: 1.2 $ $Date: 2002/06/09 19:34:59 $
</legal>
</footer>
</document>
1.1 jakarta-avalon/src/xdocs/framework/reference-containers.xml
Index: reference-containers.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE document SYSTEM "dtd/document-v10.dtd">
<document>
<header>
<title>Avalon Framework - Containers</title>
<authors>
<person id="PH" name="Paul Hammant" email="Paul_Hammant@yahoo.com"/>
</authors>
</header>
<body>
<s1 title="Introduction">
<p>
There are various container that are aware of the Avalon-Framework interfaces.
They either support all or some of the interfaces. They either add
<link href="guide-patterns-ioc.html">Inversion-of-Control</link> type interfaces
of their own constituting a specialized API, or do not, making them general
containers.
</p>
</s1>
<s1 title="General Containers">
<p>
These typically run from the command line and are launched via a legacy main() method.
</p>
<s2 title="Avalon Phoenix">
<p>
This is a sister project to Avalon Framework. It provides an environment
for launching of more or less unrestricted server applications as hosted
components. These comps will be things like web-server, rdbms, EJB-server.
See <link href="@PHOENIX_BASE@/index.html">Phoenix</link>.
</p>
</s2>
</s1>
<s1 title="Specialized Containers">
<p>
These typically run inside something else and are launched by that something else.
</p>
<s2 title="Excalibur Component Manager">
<p>
This is used by various applications like Cocoon. Cocoon is run inside the
Sun specified servlet context of a web-app. It is designed for such
Servlet-context reuse. See TODO.
</p>
</s2>
<s2 title="Enterprise Object Broker (EOB)">
<p>
The reference implementation of the EJB-replacement container runs on top of
Phoenix. EOB supports a subset of the Avalon Framework interfaces but allows
RPC publishing of arbitary interfaces apparent in a hosted components object
model. See <link href="http://eob.sourceforge.net/">EOB</link>.
</p>
</s2>
</s1>
</body>
<footer>
<legal>
Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
$Revision: 1.1 $ $Date: 2002/06/09 19:34:59 $
</legal>
</footer>
</document>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>