在接口上使用hystrix-javanica注释

时间:2016-09-04 13:28:53

标签: java annotations hystrix

我正在将Hystrix集成到SilverWare微服务平台中,我想使用hystrix-javanica注释。这些注释旨在应用于需要使用Hystrix执行的方法的实际实现。问题是我需要实现一个只有服务接口的通用解决方案。它必须以这种方式完成,以便让开发人员使用对其他微服务的注释引用(当它们实现自己的服务时),而无需处理这些服务的实现。

我想出了一个解决方案,你用这样的东西注释你的微服务参考:

@Inject
@MicroserviceReference
@HystrixConfiguration(MyServiceHystrix.class)
private MyService myService;

然后实现(或扩展)服务接口并将Hystrix注释放在其方法上:

public interface HystrixedMyService extends MyService {
    @HystrixCommand
    doSomething();
}

当您的微服务中的某个字段上有@HystrixConfiguration注释引用另一个服务时,SilverWare将扫描作为此注释的参数给出的类,并为该服务的每个方法准备一个Hystrix命令。该命令还将接收一个带有实际方法调用的callable,该调用将在其run()方法中执行。

我的问题是:是否有可能重用hystrix-javanica的某些(内部)部分,因此我不需要扫描所有注释并自己创建这些Hystrix命令?我可以看到大多数类都只能用于AOP。

0 个答案:

没有答案