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.
Debatching happens in the receive port’s inbound pipeline. A disassembler pipeline component reads the envelope, an EDI interchange with many transactions, a CSV with many rows, a JSON array, and emits one message per item, each carrying its own message type. Typing each item is not a nicety, it is the rule: a component types every message it emits, all of them, however many it produces. From that point the bus sees N independent messages, not one container.
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.