Skip to content
Art2link ESB v2.02 LTS HomeDocumentationBlogContact
Patterns/Routing/Splitter (debatch)

Splitter (debatch)

One arrival, many messages. A batch file or multi-record envelope comes in; a splitter turns each item into its own canonical message on the bus, so every record routes, retries and fails independently.

Debatching happens in the receive pipeline. A component reads the envelope — an EDI interchange with many transactions, a CSV with many rows, a JSON array — and publishes one message per item. From that point the bus sees N independent messages, not one container.

batch envelope Splitter receive component message 1message 2message 3 BUS

The payoff is isolation: if item 2 is malformed, only item 2 is dead-lettered — items 1 and 3 sail through. Splitting is the inverse of the aggregator, and the two are often used as a pair to debatch, process per-item, then re-batch for a destination that wants one file.

In Art2link the split happens in the receive pipeline. A disassembler pipeline component debatches the envelope — a file of 500 orders, a multi-line interchange — into individual canonical Order messages, each classified and published separately. From there every item routes, maps and fails on its own; one bad line cannot hold up the other 499.

Carry a batch key. Promote the source interchange or file id onto each split message’s variables, so you can correlate, re-aggregate, or trace an item back to the envelope it came from.