integration_splitter_aggregator 1.0.0

Download zip

class: Splitter

[38:7] extends: object

Splitter breaks one message into a list of split messages, stamping each piece with the correlation and sequence metadata the Aggregator needs to put them back together. A split message is a native Aussom map with four keys: correlationId, sequenceNumber (1..sequenceSize), sequenceSize, and payload (the piece, any Aussom value). The Splitter is stateless and one instance can be reused for many splits.

Members

Methods

class: Aggregator

[106:14] (extern: com.lehman.aussom.Aggregator) extends: object

Aggregator collects related split messages by correlation id into groups and, once a group is complete, hands the reassembled payloads to the onComplete callback. It is an Aussom Server client listener: register it with app.registerListener and the server runtime runs its background reaper on a dedicated thread. Pieces are fed in with aggregate() from any thread. The completion strategy is set with setCompletion: "count" (default, completes when every piece in the splitter's sequence has arrived), "predicate" (a callback decides), or "timeout" (a time window). A timeout also guards the count and predicate strategies against a piece that never arrives, evicting the group and firing onTimeout.

Methods

class: integration_splitter_aggregator_module

[24:14] static extends: object

Module JAR loader class. Loads the bundled jar that backs the Aggregator before any extern class resolves.

Methods