You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by si...@avalon.apache.org on 2004/01/28 04:03:02 UTC

[Apache Avalon Wiki] Updated: AvalonFiveLifecycleProposal

   Date: 2004-01-27T19:02:51
   Editor: NiclasHedhman <ni...@apache.org>
   Wiki: Apache Avalon Wiki
   Page: AvalonFiveLifecycleProposal
   URL: http://wiki.apache.org/avalon/AvalonFiveLifecycleProposal

   no comment

Change Log:

------------------------------------------------------------------------------
@@ -4,19 +4,19 @@
 
 {{{ 
 
-{{{  potential }}}
-{{{      | }}}
-{{{      |                candidate }}}
-{{{      |                    | }}}
-{{{      |                    | }}}
-{{{      |-- establishment -->|                 component }}}
-{{{      |                    |                     | }}}
-{{{      |                    |--- deployment ----->|  }}}
-{{{      |                    |                     | }}}
-{{{      |                    |<-- decommissioning -|  }}}
-{{{      |                    | }}}
-{{{      |<-- termination ----| }}}
-{{{      | }}}
+  potential 
+      | 
+      |                candidate 
+      |                    | 
+      |                    | 
+      |-- establishment -->|                 component 
+      |                    |                     | 
+      |                    |--- deployment ----->|  
+      |                    |                     | 
+      |                    |<-- decommissioning -|  
+      |                    | 
+      |<-- termination ----| 
+      | 
 
  }}}
 
@@ -74,17 +74,17 @@
 Consider the following context meta declaration of a final (by default) context entry:
 
 {{{ 
-{{{  <context> }}}
-{{{    <context key="urn:avalon:name"/> }}}
-{{{  </context> }}}
+  <context> 
+    <context key="urn:avalon:name"/> 
+  </context> 
  }}}
 
 As opposed to the following:
 
 {{{ 
-{{{  <context> }}}
-{{{    <context key="urn:avalon:name" final="false"/> }}}
-{{{  </context> }}}
+  <context> 
+    <context key="urn:avalon:name" final="false"/> 
+  </context> 
  }}}
 
 The above statement can be interpreted as a statement by a component type that the context value for the entry "urn:avalon:name" is volatile - i.e. it can be changed at some point in the component lifecycle.  Effectively, the component is declaring to the container that it is capable of handling re-deployment during which it will look for a new name value.
@@ -92,9 +92,9 @@
 An alternative variation on the same theme is the declaration of a context application phase as non-final.  In this case we are saying that the container has the responsibility of reapplying a context object to a component during redeployment.
 
 {{{ 
-{{{  <context final="false"> }}}
-{{{    <context key="urn:avalon:name"/> }}}
-{{{  </context> }}}
+  <context final="false"> 
+    <context key="urn:avalon:name"/> 
+  </context> 
  }}}
 
 ==== Applicability ====
@@ -112,19 +112,19 @@
 The following example declaration is basically a context declaration that captures dependency information (e.g. a Widget service with version of 2.4).
 
 {{{ 
-{{{  <context final="false"> }}}
-{{{    <context key="urn:avalon:widget"  }}}
-{{{      type="org.apache.avalon.playground.Widget:2.4"/> }}}
-{{{  </context> }}}
+  <context final="false"> 
+    <context key="urn:avalon:widget"  
+      type="org.apache.avalon.playground.Widget:2.4"/> 
+  </context> 
  }}}
 
 However, there is a problem with the above when dealing with an A4 strategy implementation. The problem is that the container does not have information enabling the separation of context and service information.  This could be handled with a supplementary stage attribute (under a Framework 4.1 DTD) along the lines of the following example.
 
 {{{ 
-{{{  <context final="false"> }}}
-{{{    <context key="urn:avalon:widget" stage="SERVICE" }}}
-{{{      type="org.apache.avalon.playground.Widget:2.4"/> }}}
-{{{  </context> }}}
+  <context final="false"> 
+    <context key="urn:avalon:widget" stage="SERVICE" 
+      type="org.apache.avalon.playground.Widget:2.4"/> 
+  </context> 
  }}}
 
 === Impact ===
@@ -184,4 +184,3 @@
 I think any component should be given access to its meta-info structure. Locator doesn't seem to be the right place to get it (because that meta-info is not visible to the other clients). So I would suggest to leave Contextualizable as it is.
 
 Krage T.
-

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org