Annotation Interface CircuitBreaker


@Retention(RUNTIME) @Target({METHOD,TYPE}) @Documented public @interface CircuitBreaker
This annotation can be applied to a class or a specific method. Applying it on a class is equivalent to applying it on all its public methods. The annotation enables backend monitoring for all methods where it is applied. Backend monitoring is performed via a circuit breaker. See CircuitBreaker for details. If using Spring, name and fallbackMethod can be resolved using Spring Expression Language (SpEL).
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    Name of the circuit breaker.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    fallbackMethod method name.
  • Element Details

    • name

      String name
      Name of the circuit breaker. It can be SpEL expression.
      • If you want to use the first parameter of the method as name, you can express it as #root.args[0], #p0 or #a0.
      • The method and class name can be accessed via #root.methodName and #root.className.
      • To invoke a method on a Spring bean, pass @yourBean.yourMethod(#a0).
      Returns:
      the name of the circuit breaker
    • fallbackMethod

      String fallbackMethod
      fallbackMethod method name.
      Returns:
      fallbackMethod method name.
      Default:
      ""