Fork and Join
| To execute two or more independent execution branches using the same input, you can use a ![]() |
Properties and Parameters
| Rotation of the component in degrees Possible values:
|
Input and Output
The Fork
component passes the input document without modification to all execution branches.
The Join
component keeps the output documents of the last executed step of each branch in memory. If the output documents are XML documents, all output documents can be merged together in one XML document using the Merge
component. If the branches output a binary document or an XSL mapping outputs dynamic parameters before the Join
component, a transfer adapter can process both dynamic parameters and the binary stream.
Using Fork and Join
An execution branch can consist of one or multiple process steps or components.
The branches are not executed simultaneously, but according to the given priority that is displayed on the transitions by a number. You can set the priority of each execution branch in its properties.
Use a Connection
component ( ) within
Fork/Join
constructs where one execution branch has an operation (e.g., an XSL mapping to dynamically parameterize an adapter) and the other branch only passes the input document.

ATTENTION: Unexpected Process Engine behavior!
If you place a loop inside another loop containing a Fork/Join
construct, the Process Engine cannot reset the state of already executed elements correctly.
Pack the inner loop with all its process components as subprocess, see Subprocess.