Can we use @Async on a @HystrixCommand

Viewed 3938

I don't know how to test this and need a quick answer whether it is possible, and how could I possibly test this.

So i have an api-gateway call from a service, and what i want to know is that if following is possible with spring boot

@Component
class GatewayService {

      @Autowired
      private MicroserviceGateway microServiceGateway;

      @Async
      @HystrixCommand(threadPool = "microservice", groupKey = "microService", fallback = "getResponse2")
      private Future<ResponseDTO> getResponse(RequestDTO request) {
         try {
               ResponseDTO response = new APIRequest(endpoint, api).body(request).post();
               return new AsyncResult(response);
         } catch (Exception e) {
             throw new GatewayServiceException(e);
         }
      } 

      public Future<ResponseDTO> getResponse2(RequestDTO request) {
           return Futures.immediateFuture(RequestDTO.empty());
      }

}

Will the fallback work? will it all be async?

EDIT : Tried this, and hystrix is being ignored, since the future is returned immediately. Any work arounds? solutions?

2 Answers
Related