[ 
https://issues.apache.org/jira/browse/UIMA-1338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12707361#action_12707361
 ] 

Jerry Cwiklik commented on UIMA-1338:
-------------------------------------

Not sure what you mean by 

"... boundaries between CPMEngine and ProcessingUnit not clearly defined."

The custom ProcessingUnit can be plugged in (as you noted) via a system param. 
The CPMEngine creates as many instances of custom ProcessingUnits as there are 
processing threads defined in the CPE descriptor:


if (System.getProperty("PROCESSING_PIPELINE_IMPL") != null) {
          String puClass = System.getProperty("PROCESSING_PIPELINE_IMPL");
          try {
            processingUnits[i] = producePU(puClass);
            processingUnits[i].setInputQueue(workQueue);
            processingUnits[i].setOutputQueue(outputQueue);
            processingUnits[i].setCPMEngine(this);
          } catch (Exception e) {

All PUs share the same Input and Output queues. Think of PUs as Worker threads 
that share the load. CPMEngine creates them and manages lifecycle of PUs.
                            

> Custom plugable ProcessingUnit for CPMEngine
> --------------------------------------------
>
>                 Key: UIMA-1338
>                 URL: https://issues.apache.org/jira/browse/UIMA-1338
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Collection Processing
>            Reporter: Maksim Likharev
>            Priority: Minor
>   Original Estimate: 504h
>  Remaining Estimate: 504h
>
> Kind of intended this way through "PROCESSING_PIPELINE_IMPL" system param, 
> but boundaries between CPMEngine and ProcessingUnit not clearly defined.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to