withholdAcknowledgement
Leaves this exchange unacknowledged when its processing ends, so a bus that redelivers unacknowledged messages delivers it again. For a processing failure that was neither handled nor durably recorded, for example when recording an event-processing failure for compensation fails.
Set on a per-function event exchange, it applies to the event stream exchange that function belongs to; the other functions of that stream still run. withheldBy names who withheld it (by default the exchange's function) for the log line.
Whether and when the message is delivered again is the bus's behaviour:
Redis Streams: the entry stays pending and is re-claimed and redelivered.
Kafka: one Wow receiver is one consumer for all the aggregate topics of its dispatcher. Commits stop at this offset; after
maxDeferredCommitsfurther acknowledgements the whole receiver (every subscribed aggregate and partition) stops polling until a restart or rebalance redelivers from this offset, and every later rebalance of that consumer waits the fullmaxDelayRebalance(60 s by default) for it.In-memory buses and locally handled (local-first) messages: not redelivered.