Java @HystrixCommand+;用方面注入错误

Java @HystrixCommand+;用方面注入错误,java,spring,spring-boot,spring-aop,hystrix,Java,Spring,Spring Boot,Spring Aop,Hystrix,我们使用的是Hystrix,如下所示: @HystrixCommand(...) public void someOperation() { ... } 这很有效。我们希望能够在这些方法中为测试注入错误和休眠,我们正试图创建一个@Aspect,用于此目的: @Before("execution(* our.package.OurClass.someOperation(..))") public void causeTrouble() { ... } 我们看到的问题是,我们的建

我们使用的是Hystrix,如下所示:

@HystrixCommand(...)
public void someOperation() {
    ...
}
这很有效。我们希望能够在这些方法中为测试注入错误和休眠,我们正试图创建一个
@Aspect
,用于此目的:

@Before("execution(* our.package.OurClass.someOperation(..))")
public void causeTrouble() {
    ...
}

我们看到的问题是,我们的建议在Hystrix建议之前运行(
HYSTRIxCommandSpect
),这意味着我们注入的休眠和异常会得到不同的处理,而不是由Hystrix处理。有没有办法确保我们的aspect在Hystrix aspect中运行?我在spring文档中尝试了订购建议,但没有成功(请参阅)。有没有其他办法解决这个问题?谢谢。

您点了什么菜?您还必须订购歇斯底里的外观,否则它将无法工作。有序方面总是在无序方面之前运行,因此,如果您不明确声明该方面的顺序,它也不会起作用。@M.Deinum我已经尝试了
@order(Ordered.lower\u priority)
并在我的方面实现了
有序
。hystrix相位是无序的,所以无论我选择什么优先级,我的相位都会首先被调用是有道理的。听起来hystrix方面需要
Order(0)
来有一个明确的顺序,让其他方面选择是在内部还是外部。谢谢。只需在订单中添加歇斯底里特性就可以解决这个问题。不幸的是,我无法控制它。它在这里声明:。所以我需要为他们创建一个拉取请求。不,你不需要。。。只需创建一个与之匹配的bean定义并对其下订单,这将覆盖常规配置中的bean定义。