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

Add Circuit Breaker to Spring Integration

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Complete
    • Affects Version/s: None
    • Fix Version/s: 2.2 M4 Sprint 3, 2.2 M4
    • Component/s: None
    • Labels:

      Description

      For access to remote systems the Circuit Breaker pattern is established http://davybrion.com/blog/2008/05/the-circuit-breaker/ . It might make sense to add this to the synchronous Gateways and Adapters to deal with failures without overloading the remote system.

        Issue Links

          Activity

          Hide
          mark.fisher Mark Fisher added a comment -

          This looks like a great case for using AOP, and it might very well be something we could support through some customizations of the spring-retry interceptors.

          Show
          mark.fisher Mark Fisher added a comment - This looks like a great case for using AOP, and it might very well be something we could support through some customizations of the spring-retry interceptors.
          Hide
          mark.fisher Mark Fisher added a comment -

          Linking to our Retry Interceptor issue which is already targetting 2.2.

          Show
          mark.fisher Mark Fisher added a comment - Linking to our Retry Interceptor issue which is already targetting 2.2.
          Hide
          grussell Gary Russell added a comment -

          While this is related to retries, I don't think it's a function of a retry interceptor - that is all about doing retries of calls to the actual service.

          This is all about fast-failure of a message handler call (e.g. if the target system is down), whether or not the message is a retry.

          That said, I suppose we could have one interceptor that handles retries and circuit breaker functionality.

          Initial cut at an implementation is here... https://github.com/garyrussell/spring-integration/commit/e07d13780ef97ebfedfa9e71cfa63b96555e7f61

          It's not much code; please take a look and comment if you have time.

          Show
          grussell Gary Russell added a comment - While this is related to retries, I don't think it's a function of a retry interceptor - that is all about doing retries of calls to the actual service. This is all about fast-failure of a message handler call (e.g. if the target system is down), whether or not the message is a retry. That said, I suppose we could have one interceptor that handles retries and circuit breaker functionality. Initial cut at an implementation is here... https://github.com/garyrussell/spring-integration/commit/e07d13780ef97ebfedfa9e71cfa63b96555e7f61 It's not much code; please take a look and comment if you have time.
          Show
          abilan Artem Bilan added a comment - Some Circuit Breaker use-case: http://forum.springsource.org/showthread.php?127442-How-to-slow-down-message-consumer

            People

            • Assignee:
              grussell Gary Russell
              Reporter:
              eberhardwolff Eberhard Wolff
            • Votes:
              3 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 1d
                1d
                Remaining:
                Time Spent - 0.25d Remaining Estimate - 0.75d
                0.75d
                Logged:
                Time Spent - 0.25d Remaining Estimate - 0.75d
                0.25d