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 2015/03/10 14:30:52 UTC
svn commit: r943164 - in /websites/staging/felix/trunk/content: ./
documentation/subprojects/apache-felix-dependency-manager-4/reference/thread-model.html
Author: buildbot
Date: Tue Mar 10 13:30:51 2015
New Revision: 943164
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-4/reference/thread-model.html
Propchange: websites/staging/felix/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Mar 10 13:30:51 2015
@@ -1 +1 @@
-1665491
+1665537
Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager-4/reference/thread-model.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager-4/reference/thread-model.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-dependency-manager-4/reference/thread-model.html Tue Mar 10 13:30:51 2015
@@ -69,7 +69,7 @@
<h1>Apache Felix Dependency Manager - Thread Model</h1>
<p>This section gives a brief overview of the default thread model used by Dependency Manager, and also explains how to start and handle components concurrently.</p>
-<h1 id="default-thread-model">Default Thread Model</h1>
+<h2 id="default-thread-model">Default thread model</h2>
<p>By default, Dependency Manager uses a lock-free/single thread model:</p>
<ul>
<li>When an external event that influence the state of a Component is taking place (for example, when a service dependency on which the Component is depending on is registered in the
@@ -86,7 +86,7 @@ then a job (J2) for this new event is ju
<p>This mechanism allows to serially handle all Component events (service dependencies) in FIFO order without maintaining any locks.</p>
<p>The following diagram illustrates the thread model we just described:</p>
<p><img src="./diagrams/serial-queue.png" alt="Serial Queue" style="width: 600px"/></p>
-<h1 id="enabling-parallelism-with-a-componentexecutorfactory">Enabling parallelism with a ComponentExecutorFactory</h1>
+<h2 id="enabling-parallelism-with-a-componentexecutorfactory">Enabling parallelism with a <em>ComponentExecutorFactory</em></h2>
<p>As described above, all the external events that influence the state of a given component are handed by jobs scheduled in the Serial Queue of the Component, and the jobs are getting
executed serially by a single "master" thread. So usually, bundles are started from a single thread, meaning that all Components are then activated synchronously.</p>
<p>But when you register in the OSGi service registry a ComponentExecutorFactory, that factory will be used by DependencyManager to create an Executor of your choice for each Component,
@@ -102,7 +102,7 @@ is registered (In this way, it is not ne
<p>Some class name prefixes can also be negated (using "!"), in order to exclude some components from the list of components using the ComponentExecutorFactory service.</p>
<p>Notice that if the ComponentExecutorFactory itself and all its dependent services are defined using the Dependency Manager API, then you have to list the package of such components with a
"!" prefix, in order to indicate that those components must not wait for a ComponentExecutorFactory service (since they are part of the ComponentExecutorFactory implementation !). </p>
-<h3 id="examples-for-the-usage-of-the-orgapachefelixdependencymanagerparallel-property">Examples for the usage of the "org.apache.felix.dependencymanager.parallel" property:</h3>
+<h3 id="examples-usage-of-the-orgapachefelixdependencymanagerparallel-property">Examples usage of the <em>org.apache.felix.dependencymanager.parallel</em> property:</h3>
<div class="codehilite"><pre><span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">felix</span><span class="p">.</span><span class="n">dependencymanager</span><span class="p">.</span><span class="n">parallel</span><span class="p">=</span><span class="o">*</span>
<span class="o">-></span> <span class="n">means</span> <span class="n">all</span> <span class="n">components</span> <span class="n">must</span> <span class="n">be</span> <span class="n">cached</span> <span class="n">until</span> <span class="n">a</span> <span class="n">ComponentExecutorFactory</span> <span class="n">comes</span> <span class="n">up</span><span class="p">.</span>
@@ -164,7 +164,7 @@ is registered (In this way, it is not ne
<li><a href="https://svn.apache.org/repos/asf/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/tpool/">see the executor factory</a> sample code and README file to up-to-date informations.</li>
</ul>
<div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
- Rev. 1665446 by pderop on Tue, 10 Mar 2015 10:26:26 +0000
+ Rev. 1665537 by pderop on Tue, 10 Mar 2015 13:30:25 +0000
</div>
<div class="trademarkFooter">
Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project