You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by bu...@apache.org on 2013/02/03 07:45:22 UTC

svn commit: r849204 [25/33] - in /websites/staging/felix/trunk/content: ./ documentation/subprojects/ documentation/subprojects/apache-felix-ipojo/ documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-devguide/ documentation/subprojects/apac...

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/combining-ipojo-and-configuration-admin.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/combining-ipojo-and-configuration-admin.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/combining-ipojo-and-configuration-admin.html Sun Feb  3 06:45:21 2013
@@ -20,9 +20,45 @@
   <head>
     <title>Apache Felix - Combining iPOJO and Configuration Admin</title>
     <link rel="icon" href="/res/favicon.ico">
-    <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
-    <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/site/media.data/site.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/ipojo/site/superfish.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/ipojo/site/style.css" type="text/css" media="all">
     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    
+    <!--
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shCore.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushCSharp.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushPhp.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushJScript.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushVb.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushSql.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushXml.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushShell.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushDelphi.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushPython.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushJava.js"></script>
+    -->
+    
+    <script type="text/javascript" src="/ipojo/site/jquery-1.js"></script>
+    <script type="text/javascript" src="/ipojo/site/hoverIntent.js"></script>
+    <script type="text/javascript" src="/ipojo/site/superfish.js"></script> 
+    <script type="text/javascript" src="/ipojo/site/supersubs.js"></script> 
+    
+    <script type="text/javascript"> 
+     
+        $(document).ready(function(){ 
+            $("ul.sf-menu").supersubs({ 
+                minWidth:    14,   // minimum width of sub-menus in em units 
+                maxWidth:    30,   // maximum width of sub-menus in em units 
+                extraWidth:  1     // extra width can ensure lines don't sometimes turn over 
+                                   // due to slight rounding differences and font-family 
+            }).superfish();  // call supersubs first, then superfish, so that subs are 
+                             // not display:none when measuring. Call before initialising 
+                             // containing tabs for same reason. 
+        }); 
+     
+    </script>
+    
   </head>
   <body>
     <div class="title">
@@ -37,172 +73,257 @@
         </a>
       </div>
     </div>
+  
+    <div class="main">
+    <div class="main">
+    <div class="page-header">
+    <img src="/ipojo/site/header.png" class="header">
+    <a href="http://ipojo.org"><img src="/ipojo/site/ipojo.png" width="225" class="header-logo"></a>
+    <ul class="sf-menu sf-js-enabled sf-shadow" id="ipojo-menu">
+    <li class="current">
+    <!-- Menu Overview -->
+    <a href="#" class="sf-with-ul">Overview<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+        <li>
+        <a href="">Home</a>                          
+        </li>
+        <li>
+        <a href="">Why choose iPOJO</a>
+        </li>
+        <li>
+        <a href="">Success stories</a>
+        </li>
+        <li>
+        <a href="">Features</a>
+        </li>
+    </ul>
+    </li>   
     
-    <div class="menu"> 
-      <p><a href="/news.html">news</a>  <br />
-<a href="/license.html">license</a>  <br />
-<a href="/downloads.cgi">downloads</a>  <br />
-<a href="/documentation.html">documentation</a>  <br />
-<a href="/mailinglists.html">mailing lists</a>  <br />
-<a href="/documentation/community/contributing.html">contributing</a>  <br />
-<a href="/sitemap.html">site map</a>  <br />
-<a href="http://www.apache.org/">asf</a>  <br />
-<a href="http://www.apache.org/security/">security</a>  <br />
-<a href="http://www.apache.org/foundation/sponsorship.html">sponsorship</a>  <br />
-<a href="http://www.apache.org/foundation/thanks.html">sponsors</a>  <br />
-</p>
-<iframe
-    src="http://www.apache.org/ads/button.html"
-    style="border-width:0; float: left"
-    frameborder="0"
-    scrolling="no"
-    width="135"
-    height="135">
-</iframe>
-    </div>
+    <li class="">           
+    <!-- Menu download -->
+    <li>
+    <a href="/downloads.cgi">Download </a>
+    </li>
     
-    <div class="main">
-      <div class="breadcrump" style="font-size: 80%;">
-        <a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/documentation.html">Documentation</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects.html">Apache Felix Subproject Documentation</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects/apache-felix-ipojo.html">Apache Felix iPOJO</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide.html">apache-felix-ipojo-userguide</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics.html">iPOJO Advanced Topics</a>
-      </div>
-
+    <li class="">                   
+    <!-- Menu Documentation -->
+    <a href="#" class="sf-with-ul">Documentation<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+        <!-- sub-menu : getting started -->
+        <li class="">
+        <a href="#" class="sf-with-ul">Getting Started<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+        <ul>
+         <li><a href="">iPOJO in 10 minutes</a></li>
+         <li><a href="">Using Annotations</a></li>
+         <li><a href="">Maven tutorial</a></li>
+         <li><a href="">Advanced tutorial</a></li>
+         <li><a href="">Using Distributed OSGi</a></li>
+         <li><a href="">Application Composition</a></li>
+        </ul>
+        </li> <!-- end of getting started -->
+        <!-- sub menu : Describing Components -->
+         <li class="">
+            <a href="" class="sf-with-ul">Describing components<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+            <ul>
+            <li><a href="">Requiring a service</a></li>
+            <li><a href="">Providing a service</a></li>
+            <li><a href="">Lifecycle management</a></li>
+            <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/configuration-handler.html">Configuration</a></li>
+            <li><a href="">Introspection</a></li>
+            <li><a href="">Impacting the lifecycle</a></li>
+            <li><a href="">Asynchronous communication</a></li>
+            <li><a href="">JMX management</a></li>
+            <li><a href="">Extender pattern</a></li>
+            <li><a href="">Whiteboard pattern</a></li>
+            <li><a href="">Temporal dependencies</a></li>
+            </ul>
+         </li> <!-- End of describing components -->
+        <!-- sub-menu : User Guide -->
+        <li class="">
+        <a href="" class="sf-with-ul">User Guide<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+            <ul>
+            <li><a href="">iPOJO and config admin</a></li>
+            <li><a href="">Factories and Instances</a></li>
+            <li><a href="">XML Schemas</a></li>
+            <li><a href="">API</a></li>
+            <li><a href="">Testing components</a></li>
+            <li><a href="">Eclipse Integration</a></li>
+            <li><a href="">FAQ</a></li>
+            <li><a href="">Reference Card</a></li>
+            </ul>
+        </li> <!-- end of user guide -->
+        <!-- sub-menu : Dev Guide -->
+        <li> 
+        <a href="#" class="sf-with-ul">Advanced Topics<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+           <ul>
+            <li><a href="http://felix.apache.org/ipojo/api/1.6.0">Javadoc</a></li>
+            <li><a href="">Handler development</a></li>
+            <li><a href="">Manipulation Metadata </a></li>
+            <li><a href="">Dive into the iPOJO Manipulation depths</a></li>
+           </ul>
+        </li> <!-- End of Dev guide -->
+    </ul> 
+    </li> <!-- End of doc -->
+    <!-- Menu 4 : Tools -->
+    <li class="">
+    <a href="#" class="sf-with-ul">Tools<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+       <li><a href="">Ant Task</a></li>
+       <li><a href="">Eclipse Plugin</a></li>
+       <li><a href="">Maven Plugin</a></li>
+       <li><a href="">`arch` shell command</a></li>
+       <li><a href="">Online Manipulator</a></li>
+       <li><a href="">Webconsole plugin</a></li>
+       <li><a href="">Junit4OSGi</a></li>
+    </ul>   
+    </li><!-- End of tools -->  
+    <!-- Menu 5 : Support -->
+    <li>
+    <a href="">Support </a>
+    </li>
+    <!-- End of the menu 5 -->          
+    <!-- Menu 6 : Misc -->
+    <li class="">
+    <a href="#" class="sf-with-ul">Misc<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+       <li><a href="">Supported JVMs</a></li>
+       <li><a href="">Supported OSGi Implementations</a></li>
+       <li><a href="http://ipojo-dark-side.blogspot.com">iPOJO's Dark Side Blog</a></li>
+       <li><a href="">Article & Presentations</a></li>
+       <li><a href="http://www.apache.org/">ASF</a></li>
+       <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+       <li><a href="http://www.apache.org/foundation/thanks.html">Sponsors</a></li>
+    </ul>
+    </li><!-- End of misc -->
+    </ul> <!-- End of the menu -->
+    </div> <!-- Page header -->
+  
+      <!-- 
       
       <div class="tip">
            This page is a translated version of <a href="/site/combining-ipojo-and-configuration-admin.html" target="felix_cwiki">/site/combining-ipojo-and-configuration-admin.html</a>. In case of
            doubt you might want to refer to the old page.
       </div>
       
+      -->
       
       <h1>Combining iPOJO and Configuration Admin</h1>
-      <p>{include:apache-felix-ipojo-header}</p>
-<div class="content">
-
-# Combining iPOJO and Configuration Admin
-
-*This page presents how creating, reconfiguring and destroying iPOJO component instance with the OSGi Configuration Admin.*
-
-{div:class=toc}
+      
+      <div class="content">
+        <h1 id="combining-ipojo-and-configuration-admin">Combining iPOJO and Configuration Admin</h1>
+<p><em>This page presents how creating, reconfiguring and destroying iPOJO component instance with the OSGi Configuration Admin.</em></p>
+<p>{div:class=toc}
 [TOC]
-{div}
-
-## Configuration Admin
-
-The Configuration Admin service is a configuration manager describe in the OSGi R4 Compendium. It allows an operator to set the configuration information of deployed applications The Configuration Admin defines the Configuration as the process of defining the configuration data of applications and assuring that those applications receive that data when they are running. The Configuration Admin is becoming an important piece on OSGi Gateway. It is become the standard way to configure applications on OSGi gateways.
-
-## Why using Configuration Admin with iPOJO
-
-As the configuration admin offer an administration support, it seems reasonable to combine iPOJO and the Configuration Admin to control the gateway. Indeed, thanks to the configuration admin it should be possible to:
-* Create new component instances
-* Configuring / reconfiguring these instances
-* Destroying these instances
-* Reconfiguring instances by using Managed Services (not addressed in this page, see [here](/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/configuration-handler.html) for further information)
-
-The configuration admin is persistent, so stored configuration will be reload it the framework restarts.
-Moreover, using the configuration admin allows avoiding describing instances inside iPOJO metadata file. These instances are created by inserting new configurations in the configuration admin.
-
-## Combining iPOJO and the Configuration Admin
-
-iPOJO has a component type concept. For each (public) component type, a `ManagedServiceFactory` is published. For each configurations matching with the component type from the Configuration Admin, a new component instance is created. Moreover, when this configuration is updated, the instance is dynamically reconfigured. If the configuration is removed, the instance is disposed.
-
-If a new Configuration is created:
-* If the factory is available or an instance is create immediately,
-* Else the factory is not available and the instance will be created as soon as the factory appears.
-
-## Examples
+{div}</p>
+<h2 id="configuration-admin">Configuration Admin</h2>
+<p>The Configuration Admin service is a configuration manager describe in the OSGi R4 Compendium. It allows an operator to set the configuration information of deployed applications The Configuration Admin defines the Configuration as the process of defining the configuration data of applications and assuring that those applications receive that data when they are running. The Configuration Admin is becoming an important piece on OSGi Gateway. It is become the standard way to configure applications on OSGi gateways.</p>
+<h2 id="why-using-configuration-admin-with-ipojo">Why using Configuration Admin with iPOJO</h2>
+<p>As the configuration admin offer an administration support, it seems reasonable to combine iPOJO and the Configuration Admin to control the gateway. Indeed, thanks to the configuration admin it should be possible to:
+<em> Create new component instances
+</em> Configuring / reconfiguring these instances
+<em> Destroying these instances
+</em> Reconfiguring instances by using Managed Services (not addressed in this page, see <a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/configuration-handler.html">here</a> for further information)</p>
+<p>The configuration admin is persistent, so stored configuration will be reload it the framework restarts.
+Moreover, using the configuration admin allows avoiding describing instances inside iPOJO metadata file. These instances are created by inserting new configurations in the configuration admin.</p>
+<h2 id="combining-ipojo-and-the-configuration-admin">Combining iPOJO and the Configuration Admin</h2>
+<p>iPOJO has a component type concept. For each (public) component type, a <code>ManagedServiceFactory</code> is published. For each configurations matching with the component type from the Configuration Admin, a new component instance is created. Moreover, when this configuration is updated, the instance is dynamically reconfigured. If the configuration is removed, the instance is disposed.</p>
+<p>If a new Configuration is created:
+<em> If the factory is available or an instance is create immediately,
+</em> Else the factory is not available and the instance will be created as soon as the factory appears.</p>
+<h2 id="examples">Examples</h2>
+<p>This section presents 3 examples about the management of iPOJO instances with the configuration admin:
+<em> A simple instantiation example and destruction
+</em> An instantiation with property injection and dynamic reconfiguration
+* A property propagation example</p>
+<p>All these examples are downloadable <a href="http://people.apache.org/~clement/ipojo/tutorials/ca/config.admin.tutorial.zip">here</a>. The archive contains both the project sources and a pre-configured version of felix.
+To compile the project, launch ant from the <em>config.admin.tutorial</em> directory
+Then, you can launch Felix by launching the following command from the <code>felix</code> directory:</p>
+<div class="codehilite"><pre><span class="n">Java</span> <span class="o">-</span><span class="n">jar</span> <span class="n">bin</span><span class="o">/</span><span class="n">felix</span><span class="o">.</span><span class="n">jar</span>
+</pre></div>
+
+
+<h3 id="prerequisites">Prerequisites</h3>
+<p>Let's take 4 Felix shell commands to manage configuration admin configurations (available in the example archive):
+<em> <code>create_conf &lt;type&gt;  &lt;property-key=property-value&gt;\*</code> allows to create a new Factory Configuration attached to the given type. The configuration contains the given properties.
+</em> <code>update*conf &lt;configuration*name&gt; &lt; property-key=property-value&gt;\*</code> allows to update the configuration with the given name with the given properties.
+<em> <code>delete*conf &lt;configuration*name&gt;</code> allows deleting the configuration with the given name. If the name is 'all', delete all stored configurations.
+</em> <code>list_conf</code> allows listing all stored configuration.</p>
+<p>Moreover iPOJO and an implementation of the Configuration Admin must be deployed on the gateway:</p>
+<div class="codehilite"><pre><span class="o">-&gt;</span> <span class="n">ps</span>
+<span class="n">START</span> <span class="n">LEVEL</span> <span class="mi">1</span>
+   <span class="n">ID</span>   <span class="n">State</span>         <span class="n">Level</span>  <span class="n">Name</span>
+<span class="p">[</span>   <span class="mi">0</span><span class="p">]</span> <span class="p">[</span><span class="n">Active</span>     <span class="p">]</span> <span class="p">[</span>    <span class="mi">0</span><span class="p">]</span> <span class="n">System</span> <span class="n">Bundle</span> <span class="p">(</span><span class="mf">1.0.3</span><span class="p">)</span>
+<span class="p">[</span>   <span class="mi">1</span><span class="p">]</span> <span class="p">[</span><span class="n">Active</span>     <span class="p">]</span> <span class="p">[</span>    <span class="mi">1</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">Felix</span> <span class="n">Shell</span> <span class="n">Service</span> <span class="p">(</span><span class="mf">1.0.0</span><span class="p">)</span>
+<span class="p">[</span>   <span class="mi">2</span><span class="p">]</span> <span class="p">[</span><span class="n">Active</span>     <span class="p">]</span> <span class="p">[</span>    <span class="mi">1</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">Felix</span> <span class="n">Shell</span> <span class="n">TUI</span> <span class="p">(</span><span class="mf">1.0.0</span><span class="p">)</span>
+<span class="p">[</span>   <span class="mi">3</span><span class="p">]</span> <span class="p">[</span><span class="n">Active</span>     <span class="p">]</span> <span class="p">[</span>    <span class="mi">1</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">Felix</span> <span class="n">Bundle</span> <span class="n">Repository</span> <span class="p">(</span><span class="mf">1.0.2</span><span class="p">)</span>
+<span class="p">[</span>   <span class="mi">4</span><span class="p">]</span> <span class="p">[</span><span class="n">Active</span>     <span class="p">]</span> <span class="p">[</span>    <span class="mi">1</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">Felix</span> <span class="n">Configuration</span> <span class="n">Admin</span> <span class="n">Service</span> <span class="p">(</span><span class="mf">1.0.10</span><span class="p">)</span> 
+<span class="p">[</span>   <span class="mi">5</span><span class="p">]</span> <span class="p">[</span><span class="n">Active</span>     <span class="p">]</span> <span class="p">[</span>    <span class="mi">1</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">Felix</span> <span class="n">iPOJO</span> <span class="p">(</span><span class="mf">1.2.0</span><span class="p">)</span> 
+<span class="p">[</span>   <span class="mi">6</span><span class="p">]</span> <span class="p">[</span><span class="n">Active</span>     <span class="p">]</span> <span class="p">[</span>    <span class="mi">1</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">Felix</span> <span class="n">iPOJO</span> <span class="n">Arch</span> <span class="n">Command</span> <span class="p">(</span><span class="mf">1.2.0</span><span class="p">)</span>
+</pre></div>
 
-This section presents 3 examples about the management of iPOJO instances with the configuration admin:
-* A simple instantiation example and destruction
-* An instantiation with property injection and dynamic reconfiguration
-* A property propagation example
 
-All these examples are downloadable [here](http://people.apache.org/~clement/ipojo/tutorials/ca/config.admin.tutorial.zip). The archive contains both the project sources and a pre-configured version of felix.
-To compile the project, launch ant from the *config.admin.tutorial* directory
-Then, you can launch Felix by launching the following command from the `felix` directory:
-
-    Java -jar bin/felix.jar
-
-### Prerequisites
-
-Let's take 4 Felix shell commands to manage configuration admin configurations (available in the example archive):
-* `create_conf <type>  <property-key=property-value>\*` allows to create a new Factory Configuration attached to the given type. The configuration contains the given properties.
-* `update*conf <configuration*name> < property-key=property-value>\*` allows to update the configuration with the given name with the given properties.
-* `delete*conf <configuration*name>` allows deleting the configuration with the given name. If the name is 'all', delete all stored configurations.
-* `list_conf` allows listing all stored configuration.
-
-Moreover iPOJO and an implementation of the Configuration Admin must be deployed on the gateway:
-
-    -> ps
-    START LEVEL 1
-       ID   State         Level  Name
-    [   0] [Active     ] [    0] System Bundle (1.0.3)
-    [   1] [Active     ] [    1] Apache Felix Shell Service (1.0.0)
-    [   2] [Active     ] [    1] Apache Felix Shell TUI (1.0.0)
-    [   3] [Active     ] [    1] Apache Felix Bundle Repository (1.0.2)
-    [   4] [Active     ] [    1] Apache Felix Configuration Admin Service (1.0.10) 
-    [   5] [Active     ] [    1] Apache Felix iPOJO (1.2.0) 
-    [   6] [Active     ] [    1] Apache Felix iPOJO Arch Command (1.2.0) 
-
-### Simple Instantiation
-
-Imagine the following very simple component implementation:
+<h3 id="simple-instantiation">Simple Instantiation</h3>
+<p>Imagine the following very simple component implementation:
 {code:java}
 public class Hello1 {
     public Hello1() {
         System.out.println("Hello");
     }
-}
-
-    The component type is defined with following metadata:
-    {code:xml}
-    <component 
-        classname="org.apache.felix.ipojo.example.ca.component.Hello1" 
-        factory="hello1" immediate="true" architecture="true"/>
-
-The defined component type (*Hello1*) just creates a Hello1 object when the instance is created (thanks to the *immediate* attribute).
-So if we deploy this bundle and add a consistent configuration we obtain (note that bundle need to be already compiled):
-
-    -> start file:..\config.admin.tutorial\output\config.admin.tutorial.jar
-    -> create_conf org.apache.felix.ipojo.example.ca.component.Hello1 
-    Insert the configuration : {org.apache.felix.ipojo.example.ca.component.Hello1}
-    -> Hello
-
-*Note*: Debug messages from the configuration admin were removed
-So as predicted, the Hello message appears. To be really sure of the creating, we can ask for the instance architecture (the component type allows architecture introspection thank to the architecture attribute):
-
-    -> arch 
-    Instance ArchCommand -> valid 
-    Instance org.apache.felix.ipojo.example.ca.component.Hello1.e40fe80a-2c0d-4c51-b00b-a82565874cd8 -> valid 
-    -> 
-    -> arch -instance 
-    org.apache.felix.ipojo.example.ca.component.Hello1.e40fe80a-2c0d-4c51-b00b-a82565874cd8 
-    instance name=
-        "org.apache.felix.ipojo.example.ca.component.Hello1.e40fe80a-2c0d-4c51-b00b-a82565874cd8" 
-            component.type="hello1" 
-            state="valid" bundle="7" 
-        object name="org.apache.felix.ipojo.example.ca.component.Hello1@120cc56" 
-        handler 
-            name="org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler" 
-            state="valid" 
-        handler 
-            name="org.apache.felix.ipojo.handlers.architecture.ArchitectureHandler" 
-            state="valid" 
-    ->
-
-So, the instance is correctly created. The name of the instance was created by the configuration admin. It could change according to your configuration admin implementation.
-Then, we can delete the instance by removing the configuration from the configuration admin:
-
-    -> delete_conf 
-    org.apache.felix.ipojo.example.ca.component.Hello1.e40fe80a-2c0d-4c51-b00b-a82565874cd8 
-    Delete the configuration : 
-    org.apache.felix.ipojo.example.ca.component.Hello1.e40fe80a-2c0d-4c51-b00b-a82565874cd8 
-    -> arch 
-    Instance ArchCommand -> valid
-
-So, arch does no more displayed any *hello* instances, the created instance was disposed.
-
-### Reconfiguring instances with the Configuration Admin
-
-Imagine the following component implementation:
+}</p>
+<div class="codehilite"><pre><span class="n">The</span> <span class="n">component</span> <span class="n">type</span> <span class="n">is</span> <span class="nb">defined</span> <span class="n">with</span> <span class="n">following</span> <span class="n">metadata:</span>
+<span class="p">{</span><span class="n">code:xml</span><span class="p">}</span>
+<span class="o">&lt;</span><span class="n">component</span> 
+    <span class="n">classname</span><span class="o">=</span><span class="s">&quot;org.apache.felix.ipojo.example.ca.component.Hello1&quot;</span> 
+    <span class="n">factory</span><span class="o">=</span><span class="s">&quot;hello1&quot;</span> <span class="n">immediate</span><span class="o">=</span><span class="s">&quot;true&quot;</span> <span class="n">architecture</span><span class="o">=</span><span class="s">&quot;true&quot;</span><span class="o">/&gt;</span>
+</pre></div>
+
+
+<p>The defined component type (<em>Hello1</em>) just creates a Hello1 object when the instance is created (thanks to the <em>immediate</em> attribute).
+So if we deploy this bundle and add a consistent configuration we obtain (note that bundle need to be already compiled):</p>
+<div class="codehilite"><pre><span class="o">-&gt;</span> <span class="n">start</span> <span class="n">file:</span><span class="o">..\</span><span class="n">config</span><span class="o">.</span><span class="n">admin</span><span class="o">.</span><span class="n">tutorial</span><span class="o">\</span><span class="n">output</span><span class="o">\</span><span class="n">config</span><span class="o">.</span><span class="n">admin</span><span class="o">.</span><span class="n">tutorial</span><span class="o">.</span><span class="n">jar</span>
+<span class="o">-&gt;</span> <span class="n">create_conf</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello1</span> 
+<span class="n">Insert</span> <span class="n">the</span> <span class="n">configuration</span> <span class="p">:</span> <span class="p">{</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello1</span><span class="p">}</span>
+<span class="o">-&gt;</span> <span class="n">Hello</span>
+</pre></div>
+
+
+<p><em>Note</em>: Debug messages from the configuration admin were removed
+So as predicted, the Hello message appears. To be really sure of the creating, we can ask for the instance architecture (the component type allows architecture introspection thank to the architecture attribute):</p>
+<div class="codehilite"><pre><span class="o">-&gt;</span> <span class="n">arch</span> 
+<span class="n">Instance</span> <span class="n">ArchCommand</span> <span class="o">-&gt;</span> <span class="n">valid</span> 
+<span class="n">Instance</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello1</span><span class="o">.</span><span class="n">e40fe80a</span><span class="o">-</span><span class="mi">2</span><span class="n">c0d</span><span class="o">-</span><span class="mi">4</span><span class="n">c51</span><span class="o">-</span><span class="n">b00b</span><span class="o">-</span><span class="n">a82565874cd8</span> <span class="o">-&gt;</span> <span class="n">valid</span> 
+<span class="o">-&gt;</span> 
+<span class="o">-&gt;</span> <span class="n">arch</span> <span class="o">-</span><span class="n">instance</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello1</span><span class="o">.</span><span class="n">e40fe80a</span><span class="o">-</span><span class="mi">2</span><span class="n">c0d</span><span class="o">-</span><span class="mi">4</span><span class="n">c51</span><span class="o">-</span><span class="n">b00b</span><span class="o">-</span><span class="n">a82565874cd8</span> 
+<span class="n">instance</span> <span class="n">name</span><span class="o">=</span>
+    <span class="s">&quot;org.apache.felix.ipojo.example.ca.component.Hello1.e40fe80a-2c0d-4c51-b00b-a82565874cd8&quot;</span> 
+        <span class="n">component</span><span class="o">.</span><span class="n">type</span><span class="o">=</span><span class="s">&quot;hello1&quot;</span> 
+        <span class="n">state</span><span class="o">=</span><span class="s">&quot;valid&quot;</span> <span class="n">bundle</span><span class="o">=</span><span class="s">&quot;7&quot;</span> 
+    <span class="n">object</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;org.apache.felix.ipojo.example.ca.component.Hello1@120cc56&quot;</span> 
+    <span class="n">handler</span> 
+        <span class="n">name</span><span class="o">=</span><span class="s">&quot;org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler&quot;</span> 
+        <span class="n">state</span><span class="o">=</span><span class="s">&quot;valid&quot;</span> 
+    <span class="n">handler</span> 
+        <span class="n">name</span><span class="o">=</span><span class="s">&quot;org.apache.felix.ipojo.handlers.architecture.ArchitectureHandler&quot;</span> 
+        <span class="n">state</span><span class="o">=</span><span class="s">&quot;valid&quot;</span> 
+<span class="o">-&gt;</span>
+</pre></div>
+
+
+<p>So, the instance is correctly created. The name of the instance was created by the configuration admin. It could change according to your configuration admin implementation.
+Then, we can delete the instance by removing the configuration from the configuration admin:</p>
+<div class="codehilite"><pre><span class="o">-&gt;</span> <span class="n">delete_conf</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello1</span><span class="o">.</span><span class="n">e40fe80a</span><span class="o">-</span><span class="mi">2</span><span class="n">c0d</span><span class="o">-</span><span class="mi">4</span><span class="n">c51</span><span class="o">-</span><span class="n">b00b</span><span class="o">-</span><span class="n">a82565874cd8</span> 
+<span class="n">Delete</span> <span class="n">the</span> <span class="n">configuration</span> <span class="p">:</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello1</span><span class="o">.</span><span class="n">e40fe80a</span><span class="o">-</span><span class="mi">2</span><span class="n">c0d</span><span class="o">-</span><span class="mi">4</span><span class="n">c51</span><span class="o">-</span><span class="n">b00b</span><span class="o">-</span><span class="n">a82565874cd8</span> 
+<span class="o">-&gt;</span> <span class="n">arch</span> 
+<span class="n">Instance</span> <span class="n">ArchCommand</span> <span class="o">-&gt;</span> <span class="n">valid</span>
+</pre></div>
+
+
+<p>So, arch does no more displayed any <em>hello</em> instances, the created instance was disposed.</p>
+<h3 id="reconfiguring-instances-with-the-configuration-admin">Reconfiguring instances with the Configuration Admin</h3>
+<p>Imagine the following component implementation:
 {code:java}
 public class Hello2 {
      String m_name;
@@ -212,147 +333,153 @@ public class Hello2 {
     public void setName(String newName) {
         m_name = newName;
         System.out.println("Hello " + m_name);
-    }
+    }</p>
+<div class="codehilite"><pre>And the following metadata:
+{code:xml}
+<span class="nt">&lt;component</span> 
+        <span class="na">classname=</span><span class="s">&quot;org.apache.felix.ipojo.example.ca.component.Hello2&quot;</span> 
+        <span class="na">factory=</span><span class="s">&quot;hello2&quot;</span> <span class="na">immediate=</span><span class="s">&quot;true&quot;</span> <span class="na">architecture=</span><span class="s">&quot;true&quot;</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;callback</span> <span class="na">transition=</span><span class="s">&quot;validate&quot;</span> <span class="na">method=</span><span class="s">&quot;stop&quot;</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;properties&gt;</span>
+        <span class="nt">&lt;property</span> <span class="na">field=</span><span class="s">&quot;m_name&quot;</span> <span class="na">name=</span><span class="s">&quot;to&quot;</span> <span class="na">method=</span><span class="s">&quot;setName&quot;</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;/properties&gt;</span>
+<span class="nt">&lt;/component&gt;</span>
+</pre></div>
 
-    And the following metadata:
-    {code:xml}
-    <component 
-            classname="org.apache.felix.ipojo.example.ca.component.Hello2" 
-            factory="hello2" immediate="true" architecture="true">
-        <callback transition="validate" method="stop"/>
-        <properties>
-            <property field="m_name" name="to" method="setName"/>
-        </properties>
-    </component>
 
-The defined component type (*Hello2*) write "Hello + $name" when the property 'to' (attached to the field m_name) receive a new value. A value is necessary insert in the instance configuration. Moreover when killed, the instance will display a "Good By" message.
+<p>The defined component type (<em>Hello2</em>) write "Hello + $name" when the property 'to' (attached to the field m_name) receive a new value. A value is necessary insert in the instance configuration. Moreover when killed, the instance will display a "Good By" message.
 Let's play a simple scenario:
-* Create a Hello2 instance
-* Update the instance configuration
-* Kill the created instance
-
-    -> create_conf org.apache.felix.ipojo.example.ca.component.Hello2 to=ipojo 
-    Insert the configuration : 
-    {service.factoryPid=org.apache.felix.ipojo.example.ca.component.Hello2, to=ipojo} 
-    Created configuration: 
-    org.apache.felix.ipojo.example.ca.component.Hello2.75082279-9b4b-4c49-b0e0-8efb38b67aa3 
-    Hello ipojo 
-    -> list_conf 
-    org.apache.felix.ipojo.example.ca.component.Hello2.75082279-9b4b-4c49-b0e0-8efb38b67aa3 : 
-     {service.pid=org.apache.felix.ipojo.example.ca.component.Hello2.75082279-9b4b-4c49-b0e0-8efb38b67aa3, 
-      service.factorypid=org.apache.felix.ipojo.example.ca.component.Hello2, 
-    to=ipojo} 
-    -> update_conf 
-    org.apache.felix.ipojo.example.ca.component.Hello2.75082279-9b4b-4c49-b0e0-8efb38b67aa3 to=felix 
-    Update: 
-    pid=org.apache.felix.ipojo.example.ca.component.Hello2.75082279-9b4b-4c49-b0e0-8efb38b67aa3 
-    Update the configuration : {to=felix} 
-    Hello felix 
-    -> delete_conf 
-    org.apache.felix.ipojo.example.ca.component.Hello2.75082279-9b4b-4c49-b0e0-8efb38b67aa3 
-    Delete the configuration : 
-    org.apache.felix.ipojo.example.ca.component.Hello2.75082279-9b4b-4c49-b0e0-8efb38b67aa3 
-    Good by felix-> list_conf
-
-In this simple scenario, we see that when the configuration is updated, the instance receives the new value. The *setName* method is immediately invoked to inject the new value. Moreover, when the configuration is deleted, the instance is going to be killed: the "Good Bye" message appears and the instance is disposed.
-Obviously it is possible to create several instance of the same type:
-
-    -> create_conf org.apache.felix.ipojo.example.ca.component.Hello2 to=ipojo 
-    Insert the configuration : 
-    {service.factoryPid=org.apache.felix.ipojo.example.ca.component.Hello2, to=ipojo} 
-    Hello ipojo 
-    -> create_conf org.apache.felix.ipojo.example.ca.component.Hello2 to=felix 
-    Insert the configuration : 
-    {service.factoryPid=org.apache.felix.ipojo.example.ca.component.Hello2, to=felix} 
-    Hello felix 
-    -> arch 
-    Instance ArchCommand -> valid 
-    Instance org.apache.felix.ipojo.example.ca.component.Hello2.aaf1927c-1a81-490d-bd7b-21b13d454987 -> valid 
-    Instance org.apache.felix.ipojo.example.ca.component.Hello2.9344fdbe-c35e-4afc-b839-f7ad0ea59a9d -> valid
+<em> Create a Hello2 instance
+</em> Update the instance configuration
+* Kill the created instance</p>
+<div class="codehilite"><pre><span class="o">-&gt;</span> <span class="n">create_conf</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span> <span class="n">to</span><span class="o">=</span><span class="n">ipojo</span> 
+<span class="n">Insert</span> <span class="n">the</span> <span class="n">configuration</span> <span class="p">:</span> 
+<span class="p">{</span><span class="n">service</span><span class="o">.</span><span class="n">factoryPid</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="p">,</span> <span class="n">to</span><span class="o">=</span><span class="n">ipojo</span><span class="p">}</span> 
+<span class="n">Created</span> <span class="n">configuration:</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="mf">.75082279</span><span class="o">-</span><span class="mi">9</span><span class="n">b4b</span><span class="o">-</span><span class="mi">4</span><span class="n">c49</span><span class="o">-</span><span class="n">b0e0</span><span class="o">-</span><span class="mi">8</span><span class="n">efb38b67aa3</span> 
+<span class="n">Hello</span> <span class="n">ipojo</span> 
+<span class="o">-&gt;</span> <span class="n">list_conf</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="mf">.75082279</span><span class="o">-</span><span class="mi">9</span><span class="n">b4b</span><span class="o">-</span><span class="mi">4</span><span class="n">c49</span><span class="o">-</span><span class="n">b0e0</span><span class="o">-</span><span class="mi">8</span><span class="n">efb38b67aa3</span> <span class="p">:</span> 
+ <span class="p">{</span><span class="n">service</span><span class="o">.</span><span class="n">pid</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="mf">.75082279</span><span class="o">-</span><span class="mi">9</span><span class="n">b4b</span><span class="o">-</span><span class="mi">4</span><span class="n">c49</span><span class="o">-</span><span class="n">b0e0</span><span class="o">-</span><span class="mi">8</span><span class="n">efb38b67aa3</span><span class="p">,</span> 
+  <span class="n">service</span><span class="o">.</span><span class="n">factorypid</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="p">,</span> 
+<span class="n">to</span><span class="o">=</span><span class="n">ipojo</span><span class="p">}</span> 
+<span class="o">-&gt;</span> <span class="n">update_conf</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="mf">.75082279</span><span class="o">-</span><span class="mi">9</span><span class="n">b4b</span><span class="o">-</span><span class="mi">4</span><span class="n">c49</span><span class="o">-</span><span class="n">b0e0</span><span class="o">-</span><span class="mi">8</span><span class="n">efb38b67aa3</span> <span class="n">to</span><span class="o">=</span><span class="n">felix</span> 
+<span class="n">Update:</span> 
+<span class="n">pid</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="mf">.75082279</span><span class="o">-</span><span class="mi">9</span><span class="n">b4b</span><span class="o">-</span><span class="mi">4</span><span class="n">c49</span><span class="o">-</span><span class="n">b0e0</span><span class="o">-</span><span class="mi">8</span><span class="n">efb38b67aa3</span> 
+<span class="n">Update</span> <span class="n">the</span> <span class="n">configuration</span> <span class="p">:</span> <span class="p">{</span><span class="n">to</span><span class="o">=</span><span class="n">felix</span><span class="p">}</span> 
+<span class="n">Hello</span> <span class="n">felix</span> 
+<span class="o">-&gt;</span> <span class="n">delete_conf</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="mf">.75082279</span><span class="o">-</span><span class="mi">9</span><span class="n">b4b</span><span class="o">-</span><span class="mi">4</span><span class="n">c49</span><span class="o">-</span><span class="n">b0e0</span><span class="o">-</span><span class="mi">8</span><span class="n">efb38b67aa3</span> 
+<span class="n">Delete</span> <span class="n">the</span> <span class="n">configuration</span> <span class="p">:</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="mf">.75082279</span><span class="o">-</span><span class="mi">9</span><span class="n">b4b</span><span class="o">-</span><span class="mi">4</span><span class="n">c49</span><span class="o">-</span><span class="n">b0e0</span><span class="o">-</span><span class="mi">8</span><span class="n">efb38b67aa3</span> 
+<span class="n">Good</span> <span class="n">by</span> <span class="n">felix</span><span class="o">-&gt;</span> <span class="n">list_conf</span>
+</pre></div>
+
+
+<p>In this simple scenario, we see that when the configuration is updated, the instance receives the new value. The <em>setName</em> method is immediately invoked to inject the new value. Moreover, when the configuration is deleted, the instance is going to be killed: the "Good Bye" message appears and the instance is disposed.
+Obviously it is possible to create several instance of the same type:</p>
+<div class="codehilite"><pre><span class="o">-&gt;</span> <span class="n">create_conf</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span> <span class="n">to</span><span class="o">=</span><span class="n">ipojo</span> 
+<span class="n">Insert</span> <span class="n">the</span> <span class="n">configuration</span> <span class="p">:</span> 
+<span class="p">{</span><span class="n">service</span><span class="o">.</span><span class="n">factoryPid</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="p">,</span> <span class="n">to</span><span class="o">=</span><span class="n">ipojo</span><span class="p">}</span> 
+<span class="n">Hello</span> <span class="n">ipojo</span> 
+<span class="o">-&gt;</span> <span class="n">create_conf</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span> <span class="n">to</span><span class="o">=</span><span class="n">felix</span> 
+<span class="n">Insert</span> <span class="n">the</span> <span class="n">configuration</span> <span class="p">:</span> 
+<span class="p">{</span><span class="n">service</span><span class="o">.</span><span class="n">factoryPid</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="p">,</span> <span class="n">to</span><span class="o">=</span><span class="n">felix</span><span class="p">}</span> 
+<span class="n">Hello</span> <span class="n">felix</span> 
+<span class="o">-&gt;</span> <span class="n">arch</span> 
+<span class="n">Instance</span> <span class="n">ArchCommand</span> <span class="o">-&gt;</span> <span class="n">valid</span> 
+<span class="n">Instance</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="o">.</span><span class="n">aaf1927c</span><span class="o">-</span><span class="mi">1</span><span class="n">a81</span><span class="o">-</span><span class="mi">490</span><span class="n">d</span><span class="o">-</span><span class="n">bd7b</span><span class="o">-</span><span class="mi">21</span><span class="n">b13d454987</span> <span class="o">-&gt;</span> <span class="n">valid</span> 
+<span class="n">Instance</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello2</span><span class="mf">.9344</span><span class="n">fdbe</span><span class="o">-</span><span class="n">c35e</span><span class="o">-</span><span class="mi">4</span><span class="n">afc</span><span class="o">-</span><span class="n">b839</span><span class="o">-</span><span class="n">f7ad0ea59a9d</span> <span class="o">-&gt;</span> <span class="n">valid</span>
+</pre></div>
 
-The 'arch' command displays the two created instances.
 
+<p>The 'arch' command displays the two created instances.</p>
 <div class="info" markdown="1">
 **Delete configurations**
 you can delete all created configurations with the *delete*conf all_ command
 </div>
 
-### Property Propagation
-
-It is possible to propagate the instance configuration to the published service properties. To activate property propagation you need to write the *'propagation'* attribute in the 'properties' element as in
-
-    <component 
-        classname="org.apache.felix.ipojo.example.ca.component.Hello3"
-        factory="hello3" architecture="true">
-        <provides/>
-        <properties propagation="true">
-            <property field="m_name" value="clement"/>
-        </properties>
-    </component>
-
-The defined type provides a service. Moreover it supports properties propagation. So all property, except listed one (m_name), will be published inside the provided services.
-So create an instance of the Hello3 component type as follow:
-
-    -> create_conf  org.apache.felix.ipojo.example.ca.component.Hello3 
-    Insert the configuration : 
-    {service.factoryPid=org.apache.felix.ipojo.example.ca.component.Hello3}
-
-Then, you can check provided services with the *services 7* command
-
-    -> services 7 
-    // Factories and Managed Service factories // 
-    ---- 
-    factory.name = org.apache.felix.ipojo.example.ca.component.Hello3 
-    instance.name = 
-    org.apache.felix.ipojo.example.ca.component.Hello3.a5ca5901-6e20-4636-8805-fbca2db1d68b 
-    objectClass = org.apache.felix.ipojo.example.ca.service.Hello 
-    service.factoryPid = org.apache.felix.ipojo.example.ca.component.Hello3 
-    service.id = 69 
-    -> 
-
-Now, we update the instance configuration with a new property 'p1':
-
-    -> update_conf 
-    org.apache.felix.ipojo.example.ca.component.Hello3.a5ca5901-6e20-4636-8805-fbca2db1d68b p1=v1 
-    Update the configuration : {p1=v1} 
-    -> services 7 
-    config.admin.tutorial (7) provides: 
-    // Factories and Managed Service factories // 
-    ---- 
-    factory.name = org.apache.felix.ipojo.example.ca.component.Hello3 
-    instance.name = 
-    org.apache.felix.ipojo.example.ca.component.Hello3.a5ca5901-6e20-4636-8805-fbca2db1d68b 
-    objectClass = org.apache.felix.ipojo.example.ca.service.Hello 
-    p1 = v1 
-    service.factoryPid = org.apache.felix.ipojo.example.ca.component.Hello3 
-    service.id = 69 
-
-Remark that the new property p1 is published. 
-Now we can remove this property by reconfiguring the instance with an empty configuration:
-
-    -> update_conf 
-    org.apache.felix.ipojo.example.ca.component.Hello3.a5ca5901-6e20-4636-8805-fbca2db1d68b 
-    Update the configuration : {} 
-    -> services 7 
-    ConfigAdminExample (8) provides: 
-    // Factories and Managed Service factories // 
-    ---- 
-    factory.name = org.apache.felix.ipojo.example.ca.component.Hello3 
-    instance.name = 
-    org.apache.felix.ipojo.example.ca.component.Hello3.a5ca5901-6e20-4636-8805-fbca2db1d68b 
-    objectClass = org.apache.felix.ipojo.example.ca.service.Hello 
-    service.factoryPid = org.apache.felix.ipojo.example.ca.component.Hello3 
-    service.id = 69 
-
-The service does no more publish the `p1` property.
-
-## Conclusion
-
-This page has presented how to combine the configuration admin and iPOJO. You can also use [FileInstall in combination with iPOJO and the Configuration Admin](http://ipojo-dark-side.blogspot.com/2009/04/ipojo-and-file-install-configuring.html). Subscribe to the Felix users mailing list by sending a message to [mailto:users-subscribe@felix.apache.org]; after subscribing, email questions or feedback to [mailto:users@felix.apache.org]
+<h3 id="property-propagation">Property Propagation</h3>
+<p>It is possible to propagate the instance configuration to the published service properties. To activate property propagation you need to write the <em>'propagation'</em> attribute in the 'properties' element as in</p>
+<div class="codehilite"><pre><span class="nt">&lt;component</span> 
+    <span class="na">classname=</span><span class="s">&quot;org.apache.felix.ipojo.example.ca.component.Hello3&quot;</span>
+    <span class="na">factory=</span><span class="s">&quot;hello3&quot;</span> <span class="na">architecture=</span><span class="s">&quot;true&quot;</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;provides/&gt;</span>
+    <span class="nt">&lt;properties</span> <span class="na">propagation=</span><span class="s">&quot;true&quot;</span><span class="nt">&gt;</span>
+        <span class="nt">&lt;property</span> <span class="na">field=</span><span class="s">&quot;m_name&quot;</span> <span class="na">value=</span><span class="s">&quot;clement&quot;</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;/properties&gt;</span>
+<span class="nt">&lt;/component&gt;</span>
+</pre></div>
+
+
+<p>The defined type provides a service. Moreover it supports properties propagation. So all property, except listed one (m_name), will be published inside the provided services.
+So create an instance of the Hello3 component type as follow:</p>
+<div class="codehilite"><pre><span class="o">-&gt;</span> <span class="n">create_conf</span>  <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span> 
+<span class="n">Insert</span> <span class="n">the</span> <span class="n">configuration</span> <span class="p">:</span> 
+<span class="p">{</span><span class="n">service</span><span class="o">.</span><span class="n">factoryPid</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span><span class="p">}</span>
+</pre></div>
+
+
+<p>Then, you can check provided services with the <em>services 7</em> command</p>
+<div class="codehilite"><pre><span class="o">-&gt;</span> <span class="n">services</span> <span class="mi">7</span> 
+<span class="sr">//</span> <span class="n">Factories</span> <span class="ow">and</span> <span class="n">Managed</span> <span class="n">Service</span> <span class="n">factories</span> <span class="sr">//</span> 
+<span class="o">----</span> 
+<span class="n">factory</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span> 
+<span class="n">instance</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span><span class="o">.</span><span class="n">a5ca5901</span><span class="o">-</span><span class="mf">6e20</span><span class="o">-</span><span class="mi">4636</span><span class="o">-</span><span class="mi">8805</span><span class="o">-</span><span class="n">fbca2db1d68b</span> 
+<span class="n">objectClass</span> <span class="o">=</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">Hello</span> 
+<span class="n">service</span><span class="o">.</span><span class="n">factoryPid</span> <span class="o">=</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span> 
+<span class="n">service</span><span class="o">.</span><span class="n">id</span> <span class="o">=</span> <span class="mi">69</span> 
+<span class="o">-&gt;</span>
+</pre></div>
+
+
+<p>Now, we update the instance configuration with a new property 'p1':</p>
+<div class="codehilite"><pre><span class="o">-&gt;</span> <span class="n">update_conf</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span><span class="o">.</span><span class="n">a5ca5901</span><span class="o">-</span><span class="mf">6e20</span><span class="o">-</span><span class="mi">4636</span><span class="o">-</span><span class="mi">8805</span><span class="o">-</span><span class="n">fbca2db1d68b</span> <span class="n">p1</span><span class="o">=</span><span class="n">v1</span> 
+<span class="n">Update</span> <span class="n">the</span> <span class="n">configuration</span> <span class="p">:</span> <span class="p">{</span><span class="n">p1</span><span class="o">=</span><span class="n">v1</span><span class="p">}</span> 
+<span class="o">-&gt;</span> <span class="n">services</span> <span class="mi">7</span> 
+<span class="n">config</span><span class="o">.</span><span class="n">admin</span><span class="o">.</span><span class="n">tutorial</span> <span class="p">(</span><span class="mi">7</span><span class="p">)</span> <span class="n">provides:</span> 
+<span class="sr">//</span> <span class="n">Factories</span> <span class="ow">and</span> <span class="n">Managed</span> <span class="n">Service</span> <span class="n">factories</span> <span class="sr">//</span> 
+<span class="o">----</span> 
+<span class="n">factory</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span> 
+<span class="n">instance</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span><span class="o">.</span><span class="n">a5ca5901</span><span class="o">-</span><span class="mf">6e20</span><span class="o">-</span><span class="mi">4636</span><span class="o">-</span><span class="mi">8805</span><span class="o">-</span><span class="n">fbca2db1d68b</span> 
+<span class="n">objectClass</span> <span class="o">=</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">Hello</span> 
+<span class="n">p1</span> <span class="o">=</span> <span class="n">v1</span> 
+<span class="n">service</span><span class="o">.</span><span class="n">factoryPid</span> <span class="o">=</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span> 
+<span class="n">service</span><span class="o">.</span><span class="n">id</span> <span class="o">=</span> <span class="mi">69</span>
+</pre></div>
+
+
+<p>Remark that the new property p1 is published. 
+Now we can remove this property by reconfiguring the instance with an empty configuration:</p>
+<div class="codehilite"><pre><span class="o">-&gt;</span> <span class="n">update_conf</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span><span class="o">.</span><span class="n">a5ca5901</span><span class="o">-</span><span class="mf">6e20</span><span class="o">-</span><span class="mi">4636</span><span class="o">-</span><span class="mi">8805</span><span class="o">-</span><span class="n">fbca2db1d68b</span> 
+<span class="n">Update</span> <span class="n">the</span> <span class="n">configuration</span> <span class="p">:</span> <span class="p">{}</span> 
+<span class="o">-&gt;</span> <span class="n">services</span> <span class="mi">7</span> 
+<span class="n">ConfigAdminExample</span> <span class="p">(</span><span class="mi">8</span><span class="p">)</span> <span class="n">provides:</span> 
+<span class="sr">//</span> <span class="n">Factories</span> <span class="ow">and</span> <span class="n">Managed</span> <span class="n">Service</span> <span class="n">factories</span> <span class="sr">//</span> 
+<span class="o">----</span> 
+<span class="n">factory</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span> 
+<span class="n">instance</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> 
+<span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span><span class="o">.</span><span class="n">a5ca5901</span><span class="o">-</span><span class="mf">6e20</span><span class="o">-</span><span class="mi">4636</span><span class="o">-</span><span class="mi">8805</span><span class="o">-</span><span class="n">fbca2db1d68b</span> 
+<span class="n">objectClass</span> <span class="o">=</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">service</span><span class="o">.</span><span class="n">Hello</span> 
+<span class="n">service</span><span class="o">.</span><span class="n">factoryPid</span> <span class="o">=</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="o">.</span><span class="n">ipojo</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">ca</span><span class="o">.</span><span class="n">component</span><span class="o">.</span><span class="n">Hello3</span> 
+<span class="n">service</span><span class="o">.</span><span class="n">id</span> <span class="o">=</span> <span class="mi">69</span>
+</pre></div>
+
+
+<p>The service does no more publish the <code>p1</code> property.</p>
+<h2 id="conclusion">Conclusion</h2>
+<p>This page has presented how to combine the configuration admin and iPOJO. You can also use <a href="http://ipojo-dark-side.blogspot.com/2009/04/ipojo-and-file-install-configuring.html">FileInstall in combination with iPOJO and the Configuration Admin</a>. Subscribe to the Felix users mailing list by sending a message to [mailto:users-subscribe@felix.apache.org]; after subscribing, email questions or feedback to [mailto:users@felix.apache.org]</p>
+      </div>
+      
+      <img src="http://felix.apache.org/ipojo/site/footer.png" class="footer">
 
-{include:apache-felix-ipojo-footer}
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1422427 by fmeschbe on Sun, 16 Dec 2012 00:36:51 +0000
+        Rev. 1441864 by fmeschbe on Sun, 3 Feb 2013 06:44:40 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project
@@ -360,5 +487,18 @@ This page has presented how to combine t
         may be trademarks or registered trademarks of their respective owners.
       </div>
     </div>
+    </div>
+    
+    <script type="text/javascript">
+    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+    </script>
+    <script type="text/javascript">
+    try{
+    var pageTracker = _gat._getTracker("UA-1518442-4");
+    pageTracker._trackPageview();
+    } catch(err) {}
+    </script>
+
   </body>
 </html>