Hystrix异步调用

时间:2018-06-24 17:30:00

标签: spring hystrix

通过https://github.com/Netflix/Hystrix/wiki/How-To-Use#Asynchronous-Execution,我了解到要在异步环境中执行Hystrix调用,我需要扩展HystrixCommand类并使用.queue()来执行。 Spring还为异步调用提供@Async批注。我的问题是,如果我在@Async注释的方法中执行command.queue()会发生什么?

    @Async
    public Future<ResponseEntity<RResponse>> getRStatus(RRequest request) throws Exception {
        //Switch to kill Hystrix
        if (useHystrix) {
            PHystrixProxy proxy = new PHystrixProxy(request, rHelper, commonUtil, endPoint);
            return proxy.queue();
        } 
        else
        {
            //take the normal route
        }
    }

我知道,如果禁用Hystrix,则正常路由将异步执行。但是,如果启用Hystrix,该怎么办? @Async在这里会产生什么影响?

0 个答案:

没有答案