private void buildSubJobBatchWorkUnits ( ) { List < Flow > flows = this . split . getFlows ( ) ; splitFlowWorkUnits = new ArrayList < BatchSplitFlowWorkUnit > ( ) ; for ( Flow flow : flows ) { // 1. First, we build the subjob JSLJob model for flows in split JSLJob splitFlowJSLJob = ParallelStepBuilder . buildFlowInSplitSubJob ( runtimeWorkUnitExecution . getTopLevelInstanceId ( ) , runtimeWorkUnitExecution . getWorkUnitJobContext ( ) , this . split , flow ) ; subJobs . add ( splitFlowJSLJob ) ; // 2. Next, we build a (persisted) execution and a work unit (thread) around it. SplitFlowConfig splitFlowConfig = new SplitFlowConfig ( runtimeWorkUnitExecution . getTopLevelNameInstanceExecutionInfo ( ) , split . getId ( ) , flow . getId ( ) , runtimeWorkUnitExecution . getCorrelationId ( ) ) ; BatchSplitFlowWorkUnit workUnit = getBatchKernelService ( ) . createSplitFlowWorkUnit ( splitFlowConfig , splitFlowJSLJob , completedWorkQueue ) ; splitFlowWorkUnits . add ( workUnit ) ; } }
about reobtaining .