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/10/07 10:25:35 UTC

svn commit: r881526 - in /websites/staging/felix/trunk/content: ./ documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/ipojo-extender-configuration.html

Author: buildbot
Date: Mon Oct  7 08:25:35 2013
New Revision: 881526

Log:
Staging update by buildbot for felix

Modified:
    websites/staging/felix/trunk/content/   (props changed)
    websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/ipojo-extender-configuration.html

Propchange: websites/staging/felix/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Oct  7 08:25:35 2013
@@ -1 +1 @@
-1529166
+1529783

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/ipojo-extender-configuration.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/ipojo-extender-configuration.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/ipojo-extender-configuration.html Mon Oct  7 08:25:35 2013
@@ -174,6 +174,7 @@
 <li><a href="#per-bundle">Per-Bundle</a></li>
 </ul>
 </li>
+<li><a href="#queueexecutorservice-insights">QueueExecutorService Insights</a></li>
 <li><a href="#event-dispatcher">Event Dispatcher</a></li>
 </ul>
 </li>
@@ -263,6 +264,34 @@ Synchronous/Asynchronous behavior can be
 <li><code>DEFAULT</code> using the default behavior</li>
 </ul>
 <p>If no header (or invalid value) is provided, the fallback behavior is <code>DEFAULT</code> (use system wide preference).</p>
+<h3 id="queueexecutorservice-insights">QueueExecutorService Insights</h3>
+<p>Apache Felix iPOJO provides a mechanism that stores Job events of the QueueService in use (synchronous, multi-threaded, ...) for replay.
+This is very useful to see where time is spent during the bootstrap and take actions accordingly.</p>
+<p>This mechanism is available when the <code>org.apache.felix.ipojo.extender.BootstrapQueueDebug</code> system property is set to <code>true</code>.
+When activated, a new OSGi service is registered under the <code>org.apache.felix.ipojo.extender.queue.debug.QueueEventProxy</code> interface (see below).</p>
+<p><code>QueueListener</code> has to be registered in this service, when added, they'll be invoked with all stored events.
+After that, the proxy simply forward the queue events to registered listeners.</p>
+<div class="codehilite"><pre><span class="cm">/**</span>
+<span class="cm"> * This service record events from a {@link org.apache.felix.ipojo.extender.queue.QueueService}.</span>
+<span class="cm"> * When a listener is added, all recorded events are replayed into the listener.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="kd">interface</span> <span class="nc">QueueEventProxy</span> <span class="o">{</span>
+    <span class="cm">/**</span>
+<span class="cm">     * Add a {@link org.apache.felix.ipojo.extender.queue.QueueListener} that will be notified on events</span>
+<span class="cm">     * relative to the observed {@link org.apache.felix.ipojo.extender.queue.QueueService}.</span>
+<span class="cm">     * @param listener added listener</span>
+<span class="cm">     */</span>
+    <span class="kt">void</span> <span class="nf">addQueueListener</span><span class="o">(</span><span class="n">QueueListener</span> <span class="n">listener</span><span class="o">);</span>
+
+    <span class="cm">/**</span>
+<span class="cm">     * Remove a {@link QueueListener} from the observed {@link org.apache.felix.ipojo.extender.queue.QueueService}.</span>
+<span class="cm">     * @param listener removed listener</span>
+<span class="cm">     */</span>
+    <span class="kt">void</span> <span class="nf">removeQueueListener</span><span class="o">(</span><span class="n">QueueListener</span> <span class="n">listener</span><span class="o">);</span>
+<span class="o">}</span>
+</pre></div>
+
+
 <h3 id="event-dispatcher">Event Dispatcher</h3>
 <p>Apache Felix iPOJO provides a way to circumvent the so-call event storm happening when starting large OSGi applications (chained services apparitions).
 It is a dedicated Event dispatcher that mimics a service registry partition logic based on registered service interfaces (<code>Constants.OBJECTCLASS</code>).
@@ -308,7 +337,7 @@ It is not enabled by default (rely on th
                 may be trademarks or registered trademarks of their respective owners.
                 </div>
                 <div class="timestamp span3 offset2">
-                Rev. 1528014 by guillaume on Tue, 1 Oct 2013 09:47:50 +0000
+                Rev. 1529783 by guillaume on Mon, 7 Oct 2013 08:25:19 +0000
                 </div>
             </div>
         </footer>