A
ProcessorWorker that implements a gating "split-join" pattern over messages:
Each input message is passed through a
splitterFunction that produces zero or more
output messages.
If the splitter produces no messages, the input message (after mapping) is forwarded
immediately downstream.
If the splitter produces one or more messages, the input message is held back.
The split messages are sent downstream immediately and tracked for acknowledgement.
Once
all split messages are acknowledged (acked or nacked), the original message
(after mapping) is released downstream.