2016-07-18 2 views
1

私は自分のローカルTomcat上で実行しているSpring Cloudを持っています。私は以下のようにHysterixコマンドを直接的に1つの非同期でラップしたリモートサービスを呼び出すためにfeignクライアントを使用しています。私は例外Hysterix Javanica AsyncResult Future.get例外をスローする

java.lang.UnsupportedOperationExceptionが下に取得しています

@HystrixCommand(fallbackMethod = "fallBackEmployeeCall") 
    public List<EmployeeBean> getEmployees() { 
     //Call through Feign Client 
     return empInterface.getEmployees(); 
    } 

    //Async Version 
    @HystrixCommand(fallbackMethod = "fallBackEmployeeCall") 
public Future<List<EmployeeBean>> getEmployeesAsync() { 
    return new AsyncResult<List<EmployeeBean>>() { 
     @Override 
     public List<EmployeeBean> invoke() { 
      return empInterface.getEmployees(); 
     } 
    }; 
} 

私はgetEmployeesAsync()を呼び出しています取得() :。AsyncResultはちょうど刺しであり、将来の完全な実装として使用することはできません

それは問題では以下のようになります -

[https://github.com/Netflix/Hystrix/issues/1179][1] 

によると、ドキュメントソリューションは、私は以下のようにやっている、HystrixCommandAspectクラスを設定することです: -

@Configuration 
@EnableAspectJAutoProxy 
public class HystrixConfiguration { 

    @Bean 
    public HystrixCommandAspect hystrixAspect() { 
     return new HystrixCommandAspect(); 
    } 

} 

しかし、私はまだ同じ例外を取得しています。私はいくつかの設定が欠けているようです。 注: - 私の同期方法は正常に動作しています。

+0

呼び出しをテストするクライアントコードを投稿できますか? –

答えて

0

getEmployeesAsyncのクラスのインスタンスを注入したもう1つのクラスでは、getEmployeesAsyncを呼び出すことができます。私もこの例外がありました。それから、私はこれが成功したようにします。