我有两个方面。
@Aspect
@Order(Ordered.LOWEST_PRECEDENCE)
public class Aspect1{}
和
@Aspect
public class Aspect2{}
当我运行应用程序时,Aspect1会在Aspect2之前执行。我对定义了Aspect 2的项目没有任何控制权。我可以在Aspect1中进行更改。这些方面都有afterThrowing建议。 您能否建议我如何在Apsect 1之前运行Aspect2?
答案 0 :(得分:0)
您可以覆盖return firstly {
self.requestClient.request(url, method: .get, parameters: nil,
encoding: JSONEncoding.default, headers: nil).responseJSON()
}.compactMap { data, rsp in
return data as? JSON
}
并实施Aspect2
界面。
您可以覆盖该方法并返回您想要设置的顺序 -
"org.springframework.core.Ordered"
答案 1 :(得分:0)
我通过更改Aspect1的切入点定义来解决它。现在,切入点是在Aspect 2中声明的方法上定义的。这使得Aspect2首先运行然后它抛出Aspect1捕获的异常。