Resiliency: Circuit Breaker


Circuit Breaker is a new resiliency feature in 12.2.1 that helps to simplify operations and ensure system stability when downstream endpoints become unavailable.

This post is meant to be a quick introduction to this new feature so you can start testing it out.

Circuit Breaker overview

Circuit Breaker enables you to configure the system to automatically suspend upstream endpoints when a downstream system is down or unreachable from a SOA composite. This prevents faults from building up in the server and relieves you from having to bulk-recover faulted instances. The upstream endpoints are automatically resumed after the downstream endpoint comes back up.

The circuit breaker feature works by monitoring downstream system failures and after x number of failures over y minutes (where x and y are configurable) any upstream web service, subscriber, or adapter where the failed messages originated from will be suspended.  For adapters and subscribers the messages will not be lost but will not be processed until the downstream system comes back up. Web Service requests will be rejected and it is up to the client program to handle these failures.

Suspended services will show up in the EM dashboard (below),  by clicking on the "Suspended since …" link another dialog will pop up that will allow you to jump to the error in the Error Hospital and/or re-enable the service. 

Once a service is suspended messages are allowed to "trickle" through periodically in order to test the downstream system.  If the downstream invocation succeeds then the upstream service is resumed.


Circuit Breaker can be configured globally and overridden at the downstream endpoint. There may be situations where you don’t want downstream failures to cause services to be suspended, in this case you would disable the circuit breaker at the endpoint level, it is also possible to override the number of failures and failure window at the endpoint level. Conversely you can disable globally and enable at the endpoint level.  It is also possible to set the circuit breaker properties on an endpoint when designing the composite in JDev.

Global configuration

To display the configuration dialog go to SOA Infrastructure -> SOA Administration -> Resiliency Configuration. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

About Jürgen Kress
As a middleware expert Jürgen works at Oracle EMEA Alliances and Channels, responsible for Oracle’s EMEA Fusion Middleware partner business. He is the founder of the Oracle SOA & BPM and the WebLogic Partner Communities and the global Oracle Partner Advisory Councils. With more than 5000 members from all over the world the Middleware Partner Community is the most successful and active community at Oracle. Jürgen manages the community with monthly newsletters, webcasts and conferences. He hosts his annual Fusion Middleware Partner Community Forums and the Fusion Middleware Summer Camps, where more than 200 partners get product updates, roadmap insights and hands-on trainings. Supplemented by many web 2.0 tools like twitter, discussion forums, online communities, blogs and wikis. For the SOA & Cloud Symposium by Thomas Erl, Jürgen is a member of the steering board. He is also a frequent speaker at conferences like the SOA & BPM Integration Days, JAX, UKOUG, OUGN, or OOP.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: