默认情况下,kotlin中的类是final,因此在使用aspect(Spring AOP)时不兼容。
@Log-我的方面,记录有趣的参数。
此代码可以正常工作
@Log
open class ConfirmCallbackImp : ConfirmCallback {
override fun confirm(correlationData: CorrelationData?,ack: Boolean,cause: String?) {
}
}
@Bean
fun setConfirmCallback(): ConfirmCallback {
return ConfirmCallbackImp()
}
此代码引发异常
@Bean
fun setConfirmCallback(): ConfirmCallback {
return object : ConfirmCallback {
@Log
override fun confirm(correlationData: CorrelationData?,cause: String?) {
}
}
}
例外: 原因:java.lang.IllegalArgumentException:无法子类化最终类ru.configuration.rbmq.EndpointConfiguration $ setConfirmCallback $ 1