Uploaded image for project: 'Spring Integration'
  1. Spring Integration
  2. INT-4371

Add a mechanism to defer acknowledging/rejecting/requeing messages received from a MessageSource

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Complete
    • Affects Version/s: None
    • Fix Version/s: 5.0.1
    • Component/s: None
    • Labels:

      Description

      There is a requirement in Spring Cloud Stream to support a polled consumer where a message is fetched from the broker but not acknowledged until the downstream flow completes.

      Add an abstract message source that populates the message with a header containing an abstraction that allows the application to acknowledge/reject/requeue the message. (In amqp, for example, this would map to channel.basicAck(tag), channel.basicReject(tag, false), and channel.basicReject(tag, true).

      With some brokers (such as kafka), acknowledge and reject might be equivalent since there is no automatic DLQ processing in kafka both would simply commit the offset.

      Also include a strategy interface for a factory to provide the acknowledgment header.

        Attachments

          Activity

            People

            • Assignee:
              grussell Gary Russell
              Reporter:
              grussell Gary Russell
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: