Annotation Interface Bulkhead


@Retention(RUNTIME) @Target({METHOD,TYPE}) @Documented public @interface Bulkhead
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. If using Spring, name and fallbackMethod can be resolved using Spring Expression Language (SpEL).
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    bulkhead implementation types
  • Required Element Summary

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

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

    • name

      String name
      Name of the bulkhead. 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 name can be accessed via #root.methodName. To invoke a method on a Spring bean, pass @yourBean.yourMethod(#a0).
      Returns:
      the name of the bulkhead
    • fallbackMethod

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

      Returns:
      the bulkhead implementation type (SEMAPHORE or THREADPOOL)
      Default:
      SEMAPHORE