Annotation Type 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).
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      java.lang.String name
      Name of the bulkhead.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      java.lang.String fallbackMethod
      fallbackMethod method name.
      Bulkhead.Type type  
    • Element Detail

      • name

        java.lang.String name
        Name of the bulkhead. It can be SpEL expression. If you want to use first parameter of the method as name, you can express it #root.args[0], #p0 or #a0. And method name can be accessed via #root.methodName
        Returns:
        the name of the bulkhead
      • fallbackMethod

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

        Bulkhead.Type type
        Returns:
        the bulkhead implementation type (SEMAPHORE or THREADPOOL)
        Default:
        io.github.resilience4j.bulkhead.annotation.Bulkhead.Type.SEMAPHORE