public @interface HystrixCommand { // HystrixCommand 命令所屬的組的名稱:默認注解方法類的名稱 String groupKey() default ""; // HystrixCommand 命令的key值,默認值為注解方法的名稱 String commandKey() default ""; // 線程池名稱,默認定義為groupKey String threadPoolKey() default ""; // 定義回退方法的名稱, 此方法必須和hystrix的執行方法在相同類中 String fallbackMethod() default ""; // 配置hystrix命令的參數 HystrixProperty[] commandProperties() default {}; // 配置hystrix依賴的線程池的參數 HystrixProperty[] threadPoolProperties() default {}; // 如果hystrix方法拋出的異常包括RUNTIME_EXCEPTION,則會被封裝HystrixRuntimeException異常。我們也可以通過此方法定義哪些需要忽略的異常 Class<? extends Throwable>[] ignoreExceptions() default {}; // 定義執行hystrix observable的命令的模式,類型詳細見ObservableExecutionMode ObservableExecutionMode observableExecutionMode() default ObservableExecutionMode.EAGER; // 如果hystrix方法拋出的異常包括RUNTIME_EXCEPTION,則會被封裝HystrixRuntimeException異常。此方法定義需要拋出的異常 HystrixException[] raiseHystrixExceptions() default {}; // 定義回調方法:但是defaultFallback不能傳入參數,返回參數和hystrix的命令兼容 String defaultFallback() default ""; }