You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by nu...@apache.org on 2006/09/29 18:53:50 UTC
svn commit: r451347 -
/jakarta/commons/sandbox/pipeline/trunk/src/site/apt/index.apt
Author: nuttycom
Date: Fri Sep 29 09:53:50 2006
New Revision: 451347
URL: http://svn.apache.org/viewvc?view=rev&rev=451347
Log:
Improved introductory documentation
Modified:
jakarta/commons/sandbox/pipeline/trunk/src/site/apt/index.apt
Modified: jakarta/commons/sandbox/pipeline/trunk/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/jakarta/commons/sandbox/pipeline/trunk/src/site/apt/index.apt?view=diff&rev=451347&r1=451346&r2=451347
==============================================================================
--- jakarta/commons/sandbox/pipeline/trunk/src/site/apt/index.apt (original)
+++ jakarta/commons/sandbox/pipeline/trunk/src/site/apt/index.apt Fri Sep 29 09:53:50 2006
@@ -1,29 +1,53 @@
- --------
- Overview
- --------
+ ----------------
+ Overview
+ ----------------
The Processing Pipeline
- This project provides a set of serial processing utilities designed around
-the concept of a processing pipeline. A pipeline in its simplest form is
-a series of work queue processors that allow objects to be passed between
-stages in a sequential fashion.
-
- The primary processing element in a pipeline is called a Stage. A stage contains
-an input queue of objects for which it it is a consumer, and acts a producer
-of processed objects for subsequent stages and pipeline branches. A stage can
-act as a filter for data, or may have more complex responsibilities such
+ This project provides a lightweight set of utilities that make it simple
+to implement parallelized data processing systems. Data objects flowing through
+the pipeline are processed by a series of independent user-defined components
+called {{{apidocs/org/apache/commons/pipeline/Stage.html}Stages}}. A pipeline
+may have a number of different branches of execution, each of which is
+a fully qualified Pipeline in its own right.
+
+Stages in the Pipeline
+
+ The {{{apidocs/org/apache/commons/pipeline/Stage.html}Stage}} is
+the primary unit of execution in a processing pipeline. Each
+Stage has a well defined lifecycle that passes through setup, processing, and
+cleanup states. When a pipeline starts running, each Stage runs its setup
+method and then waits for an object to be passed to its
+{{{apidocs/org/apache/commons/pipeline/Stage.html#process(java.lang.Object)}process()}}
+method. This method is implemented by the user to provide some sort of
+useful operation on the data, after which the object or products of the
+processing can be passed to subsequent stages and/or branches.
+
+ A stage can act as a filter for data, or may have more complex responsibilities such
as finding and allocating resources for subsequent stages.
- In addition to sequential processing, a simple event model is provided to
-enable asynchronous communication between stages in the pipeline.
+Multithreaded Processing
+
+ Several threading models are available to choose from including synchronous
+processing (each object input to the pipeline passes through the entire pipeline
+before the next is processed), and a couple of different multithreaded processing
+models that run each stage in either a single dedicated thread or using a pool of
+threads to perform processing. The threading model chosen for each stage is
+independent of both the stage implementation and of the threading models used for
+other stages, providing a great deal of flexibility when it comes to configuring the
+processing system. Threading models are defined by implementations of the
+{{{apidocs/org/apache/commons/pipeline/StageDriver.html}StageDriver}} interface.
+
+Event-Based Inter-Stage Communication
+
+ In addition to sequential processing of objects, a simple event model is provided to
+enable asynchronous communication between stages in the pipeline and its branches.
Releases
+
This project has no released versions.
Documentation
- The {{{apidocs/index.html}JavaDoc API documents}} are available online.
+ The {{{apidocs/index.html}JavaDoc API documentation}} is available online.
- Please refer to the org.apache.commons.pipeline.config.DigesterPipelineFactoryTest
-source code for a simple example of how to use the pipeline.
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org