Spring AOP和Reactor中的多个有序注释出错

Spring AOP和Reactor中的多个有序注释出错,spring,spring-aop,spring-reactive,spring-reactor,Spring,Spring Aop,Spring Reactive,Spring Reactor,我有这两个注释及其各自的方面: @Target(AnnotationTarget.FUNCTION) @保留(AnnotationRetention.RUNTIME) 注释类备份缓存 @Target(AnnotationTarget.FUNCTION) @保留(AnnotationRetention.RUNTIME) 注释类Cb(val-circuitBreakerConfig:CircuitBreakerManager.CircuitBreakerConfigs){} @方面 @组成部分

我有这两个注释及其各自的方面:

@Target(AnnotationTarget.FUNCTION)
@保留(AnnotationRetention.RUNTIME)
注释类备份缓存
@Target(AnnotationTarget.FUNCTION)
@保留(AnnotationRetention.RUNTIME)
注释类Cb(val-circuitBreakerConfig:CircuitBreakerManager.CircuitBreakerConfigs){}
@方面
@组成部分
类CircuitBreakerNotationAspect(meterRegistry:meterRegistry?=null){
@周围(“@注释(cb)”)
有趣的方法(连接点:过程连接点,cb:cb):单声道{
val签名=joinPoint.signature
退货包装(签名,cb){
joinPoint.procedue()作为Mono
}
}
}

@方面
@组成部分
类BackupCacheAspect(@Autowired val backupCacheService:backupCacheService):已订购{
@大约(“@注释(备份缓存)”)
有趣的方法(joinPoint:ProceedingJoinPoint,backupCache:backupCache):Mono{
// ...
}
重写fun getOrder():Int=1000
}
我需要它们井然有序,
Cb
被称为最内层,
BackupCache
最外层。如果我将ordered同时放入两个(使用
Cb
order=10
),则会出现以下错误:

java.lang.IllegalStateException:需要绑定2个参数,但仅绑定1个(调用中未绑定JoinPointMatch)
重新编程测试:

@组件
班级很多{
@备份缓存
@Cb(默认值)
趣味methodWithAnnotations(id:String):Mono{
返回Mono.empty()
}
}
@SpringBootTest
ServicesTests的类MultipleAnotationsOnServicesTests{
@自动连线
lateinit变量many:many
@试验
有趣的TestMultipleAnotations(){
创建(many.methodWithAnnotations(“aaa”))
.verifyComplete()
}
}

删除其中一个命令可以解决问题,但我需要强制执行该命令。有人能帮忙吗?

使用
@Order(10)
会改变什么吗?不会,什么都不会改变@你解决问题了吗?是的,通过使用一个注释:D