Split and merge arcs: constraints on usage

I have a workflow that looks like this:
FileSource -arc1-> Process1 -arc2-> Process2 -arc3-> output

What I would like to achieve is for arc 1 to split, and arc 3 to merge: i.e. I would like arc 2 to copy. However, it seems like a merge is automatically inserted after each process that takes a split: i.e. arc 2 is a merge by default. This is causing my workflow to not work as expected.

To better understand my problem, let me describe the actual situation. The FileSource is a directory containing multiple job files. Process 1 processes each of these files and produces an output file - the output to arc 2 is the filehandle containing the output. I would like Process 2 to do some post-processing on each file, however, because arc 2 does a merge, Process 2 (which is a UNIX command) receives an incorrect input argument (i.e. it makes a single call with all the output filehandles concatenated as a single string, whereas what I want is multiple calls with individual filehandles).

How should I work around this problem?

Use a Sub-Process

You are correct, split/merge arcs only currently work around a single task. However the task can be both an activity or a subprocess.

So the "workaround" is as follows. You should place the two steps Process1 and Process together into their own process and call this process from within the split/merge arcs.

Main: FileSource -arc1(split)-> Body -arc3(merge)-> output

Body: Process1 -arc2-> Process2

To specify the call from the Main process to the Body process, simply drag Body from the JOpera library into the control flow or data flow views of the Main process