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 {