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>