You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2014/10/20 10:00:35 UTC

svn commit: r1633067 - /felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/ComponentExecutorFactory.java

Author: pderop
Date: Mon Oct 20 08:00:34 2014
New Revision: 1633067

URL: http://svn.apache.org/r1633067
Log:
javadoc

Modified:
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/ComponentExecutorFactory.java

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/ComponentExecutorFactory.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/ComponentExecutorFactory.java?rev=1633067&r1=1633066&r2=1633067&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/ComponentExecutorFactory.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager/src/org/apache/felix/dm/ComponentExecutorFactory.java Mon Oct 20 08:00:34 2014
@@ -4,39 +4,39 @@ import java.util.concurrent.Executor;
 
 /**
  * A ComponentExecutorFactory service allows to provide a custom Executor (typically a threadpool) 
- * for a given Component.
+ * for a given Component.<p>
  * When a Component is added to a DependencyManager, the ComponentExecutorFactory is then 
  * used to create an Executor for that component and the Executor will be used to execute 
  * all the DM internal code related to the component's dependency management. The Executor 
- * will also be used to invoke all the component's lifecycle callbacks. 
+ * will also be used to invoke all the component's lifecycle callbacks.<p>
  * 
  * All the component dependency management/lifecycle callbacks will be handled in the Executor, 
- * but every dependency events will be handled serially, in FIFO order (it's actually a kind of 
- * actor thread model). This means that you then don't have to deal with
- * synchronizations anymore in your component dependencies/lifecycle callbacks; and multiple 
- * components will be managed and started concurrently, in parallel.
+ * but serially, in FIFO order (it's actually a kind of actor thread model). This means that you then 
+ * don't have to deal with synchronizations anymore in your component dependencies/lifecycle callbacks; 
+ * and multiple components will be managed and started concurrently, in parallel.<p>
  * 
  * If you want to ensure that the ComponentExecutorFactory is registered in the OSGI registry 
- * before all others DM components are added to their respective DependencyManagers, then you 
+ * before all other DM components are added to their respective DependencyManagers, then you 
  * can simply use the "org.apache.felix.dependencymanager.parallel" OSGi system property, which 
  * can specify the list of components which must wait for the ComponentExecutorFactory service.
- * 
  * This property value can be set to a wildcard ("*"), or a list of components implementation class prefixes 
  * (comma separated). So, all components class names starting with the specified prefixes will be cached 
  * until the ComponentExecutorFactory service is registered (In this way, it is not necessary to use
- * the StartLevel service if you want to ensure that all components will be started concurrently).
+ * the StartLevel service if you want to ensure that all components are started concurrently).
  * 
  * Some class name prefixes can also be negated (using "!"), in order to exclude some components from the 
- * list of components using the ComponentExecutorFactory service, or the "getExecutorFor" method can just
- * return null for a given component, in order to avoid using an executor for a given component.
+ * list of components using the ComponentExecutorFactory service.<p>
  * 
  * Notice that if the ComponentExecutorFactory itself and all it's 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 !).
+ * (since they are part of the ComponentExecutorFactory implementation !).<p>
  * 
  * Examples:
  * 
+ *  * <blockquote>
+ * 
+ * <pre>
  * org.apache.felix.dependencymanager.parallel=*   
  *      -> means all components must be cached until a ComponentExecutorFactory comes up.
  * 
@@ -47,7 +47,9 @@ import java.util.concurrent.Executor;
  * org.apache.felix.dependencymanager.parallel=!foo.threadpool, *
  *      -> means all components must be delayed until the ComponentExecutorFactory comes up, except the 
  *      components whose implementations class names are starting with "foo.threadpool" prefix). 
- *       
+ * </pre>
+ * </blockquote>
+ * 
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a> 
  */
 public interface ComponentExecutorFactory {