FeignCircuitBreakerInvocationHandler

public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
  ....
  String circuitName = Feign.configKey(target.type(), method);
  CircuitBreaker circuitBreaker = circuitBreakerGroupEnabled ? factory.create(circuitName, feignClientName)
      : factory.create(circuitName);
   ...
}

Now support custom config on method level only! Feign.configKey(target.type(), method) could be duplicated!

example

@FeignClient(name = "user-service")
public interface UserServiceClient {

    @PostMapping("/registration")
    ResponseEntity<User> registerUser(@RequestBody User user);
}
resilience4j:
  timelimiter:
    configs:
      default:
        timeout-duration: 1ms
    instances:
      #  Feign.configKey(target.type(), method) 
     # in case of escaped characters, spring boot will apply it to UserServiceClientregisterUserUser
      UserServiceClient#registerUser(User):
        timeout-duration: 1s