Announcement Announcement Module
No announcement yet.
Retry management on failure: new feature? Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Retry management on failure: new feature?


    The discard channel is an important feature of the error management concern.
    However, it could be extended with some other common features of the entreprise integration world; like having the ability to retry a defined number of times with a delay and if the error keeps occurring after all the retries, then either:
    - dropping the message,
    - redirecting it to a discard channel (feature already existing),
    - or throwing the exception back to the caller.

    Does Spring Integration have currently have such a feature I haven't noticed? Is it in the box? Or doesn't it make sense?
    I would like to open a JIRA on the subject but I wanted some other opinions on the subject before I do.

    -- Pierre

  • #2
    We do have an open issue related to this:

    Feel free to add your comments and ideas there so that they can be taken into account during the implementation.



    • #3
      In the meantime you can hook the existing Spring Batch retry features into Spring Integration either by intercepting MessageChannel.send() or adding advice to the poller (depending on your use case and desired transaction semantics). There are some examples in unit tests in the Spring Batch Admin project (in spring-batch-integration). INT-343 will probably end up with a solution that looks pretty much identical, except the retry features from Batch will probably migrate to some other shared library (TBD).