我有一些spring集成流程配置:
@Bean
fun someFlow(
): IntegrationFlow =
IntegrationFlows
.from(someMessageProducer)
.transform(MyTransformer())
.get()
}
我的变压器:
class MyTransformer : GenericTransformer<Any, Any> {
override fun transform(source: Any?): Any {
MyObjectClass.doError()
}}
可能引发异常的对象类:
object MyObjectClass {
private fun doError() {
throw Exception()
}
}
当函数doError()引发异常时,我在Spring控制台中看不到异常的堆栈跟踪。当我将对象类用于另一个简单服务(不与IntegrationFlow一起使用)(例如,用于REST控制器的简单服务)时,抛出异常时会看到堆栈跟踪。 作为一种变体,我更改了对象类,它可以将异常抛出给简单的kotlin类。但是在每个方法调用中创建一个新实例对我来说都是不好的。而且我不明白为什么不显示堆栈跟踪。将日志记录级别更改为调试级别也无济于事。