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 2018/10/10 10:35:14 UTC

svn commit: r1036221 - in /websites/staging/felix/trunk/content: ./ documentation/subprojects/apache-felix-dependency-manager/reference/dm-annotations.html

Author: buildbot
Date: Wed Oct 10 10:35:13 2018
New Revision: 1036221

Log:
Staging update by buildbot for felix

Modified:
    websites/staging/felix/trunk/content/   (props changed)
    websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager/reference/dm-annotations.html

Propchange: websites/staging/felix/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Oct 10 10:35:13 2018
@@ -1 +1 @@
-1843368
+1843420

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager/reference/dm-annotations.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager/reference/dm-annotations.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager/reference/dm-annotations.html Wed Oct 10 10:35:13 2018
@@ -335,13 +335,13 @@ So, if you need your component to be ins
         <span class="c1">// instantiate a first instance of Hello component</span>
         <span class="n">Configuration</span> <span class="n">c1</span> <span class="o">=</span> <span class="n">cm</span><span class="o">.</span><span class="na">createFactoryConfiguration</span><span class="o">(</span><span class="s">&quot;my.factory.pid&quot;</span><span class="o">,</span> <span class="s">&quot;?&quot;</span><span class="o">);</span>
         <span class="n">Hashtable</span> <span class="n">props</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Hashtable</span><span class="o">();</span>
-        <span class="n">newprops</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">&quot;key&quot;</span><span class="o">,</span> <span class="s">&quot;value1&quot;</span><span class="o">);</span>
+        <span class="n">props</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">&quot;key&quot;</span><span class="o">,</span> <span class="s">&quot;value1&quot;</span><span class="o">);</span>
         <span class="n">c1</span><span class="o">.</span><span class="na">update</span><span class="o">(</span><span class="n">props</span><span class="o">);</span>
 
         <span class="c1">// instantiate another instance of Hello component</span>
         <span class="n">Configuration</span> <span class="n">c2</span> <span class="o">=</span> <span class="n">cm</span><span class="o">.</span><span class="na">createFactoryConfiguration</span><span class="o">(</span><span class="s">&quot;my.factory.pid&quot;</span><span class="o">,</span> <span class="s">&quot;?&quot;</span><span class="o">);</span>
         <span class="n">props</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Hashtable</span><span class="o">();</span>
-        <span class="n">newprops</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">&quot;key&quot;</span><span class="o">,</span> <span class="s">&quot;value2&quot;</span><span class="o">);</span>
+        <span class="n">props</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">&quot;key&quot;</span><span class="o">,</span> <span class="s">&quot;value2&quot;</span><span class="o">);</span>
         <span class="n">c2</span><span class="o">.</span><span class="na">update</span><span class="o">(</span><span class="n">props</span><span class="o">);</span>
 
         <span class="c1">// destroy the two instances of X component</span>
@@ -498,32 +498,30 @@ the component is about to be destroyed</
 <p>1) Wait for all required dependencies to be available. When all required dependencies are 
 available:</p>
 <ul>
-<li>Instantiate the component</li>
-<li>Inject all required dependencies (on class fields using reflection, or by invoking callback methods)</li>
-<li>Inject all optional dependencies defined on class fields, possibly with a <em>NullObject</em> if the 
+<li>instantiate the component</li>
+<li>inject all required dependencies (on class fields using reflection, or by invoking callback methods)</li>
+<li>inject all optional dependencies defined on class fields, possibly with a <em>NullObject</em> if the 
 dependency is not available.</li>
-<li>Call the component init method (annotated with <em>@Init</em>, see (see 
+<li>call the component init method (annotated with <em>@Init</em>, see (see 
 <a href="http://felix.apache.org/apidocs/dependencymanager.annotations/r12/org/apache/felix/dm/annotation/api/Init.html">@Init javadoc</a>).). 
 In the init method, you are yet allowed to add some additional dependencies using the Dependency 
 Manager API or DM Lambda). Alternatively, you can also configure some  dependencies dynamically 
 (explained later, in <a href="##dynamic-dependency-configuration">Dynamic Dependency Configuration</a>.</li>
 </ul>
-<p>2) Wait for extra required dependencies optionally configured from the init() method. When all extra required
-dependencies are available:</p>
+<p>2) Wait for extra required dependencies optionally configured from the init() method. When all extra 
+required dependencies are available:</p>
 <ul>
-<li>Invoke the start method annotated with <a href="http://felix.apache.org/apidocs/dependencymanager.annotations/r12/org/apache/felix/dm/annotation/api/Start.html">@Start annotation</a>:</li>
-<li>Publish some OSGi services, if any. the start method may return a Map<String, Object> that will 
-be appended to the provided service properties, if any.</li>
-<li>Invoke the method annotatated with <a href="http://felix.apache.org/apidocs/dependencymanager.annotations/r12/org/apache/felix/dm/annotation/api/Registered.html">@Registered annotation</a>.
-The method, if declared, takes as argument a <code>ServiceRegistration</code> which corresponds to the registered service.</li>
-</ul>
-<p>3) Once the start callback has been started, and the service has been registered:</p>
-<ul>
-<li>start tracking optional dependencies applied on method callbacks (useful for the whiteboard pattern).
-<em>Notice that NullObject pattern is not applied to optional callback dependencies</em>. 
+<li>invoke the start method annotated with <a href="http://felix.apache.org/apidocs/dependencymanager.annotations/r12/org/apache/felix/dm/annotation/api/Start.html">@Start annotation</a>.
+The start method may return a Map<String, Object> that will 
+be appended to the provided service properties (the the component provides a service).</li>
+<li>start tracking optional dependencies applied on method callbacks (invoke optional dependency callbacks).
+Notice that NullObject pattern is not applied to optional callback dependencies.
 In other words, if the dependency is not there, your callback won't be invoked at all. 
 If you need the NullObject pattern, then apply optional dependencies on class fields, not on 
-callback methods.</li>
+callback methods. </li>
+<li>register the OSGi service, if the component provides one. </li>
+<li>invoke the method annotatated with <a href="http://felix.apache.org/apidocs/dependencymanager.annotations/r12/org/apache/felix/dm/annotation/api/Registered.html">@Registered annotation</a>.
+The method, if declared, takes as argument a <code>ServiceRegistration</code> which corresponds to the registered service.</li>
 </ul>
 <h2 id="component-deactivation">Component deactivation<a class="headerlink" href="#component-deactivation" title="Permanent link">&para;</a></h2>
 <p>Deactivating a component consists of the following steps:</p>
@@ -1465,7 +1463,7 @@ takes as argument a ServiceObjects param
 <p>Internally, DM will use the 
 PrototypeServiceFactory.getService(Bundle clientBundle, ServiceRegistration reg) method in order to 
 instantiate the MyServiceImpl component. So, the MyServiceImpl component can optionally use the 
-@Inject annotation in order to get injected with the clientBundle and/or the service regisration, 
+@Inject annotation in order to get injected with the clientBundle and/or the service registration, 
 like this:</p>
 <div class="codehilite"><pre><span class="kn">import</span> <span class="nn">org.apache.felix.dm.annotation.api.Component</span><span class="o">;</span>
 <span class="kn">import</span> <span class="nn">org.apache.felix.dm.annotation.api.ServiceScope</span><span class="o">;</span>
@@ -1647,7 +1645,7 @@ in the following, the service properties
 <span class="o">}</span>
 </pre></div>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1843304 by pderop on Tue, 9 Oct 2018 15:56:51 +0000
+        Rev. 1843420 by pderop on Wed, 10 Oct 2018 10:34:39 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project