在IntegrationFlow中使用kotlin对象类时不显示异常stacktrace

时间:2019-05-16 07:48:31

标签: kotlin stack-trace spring-integration-dsl static-classes

我有一些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类。但是在每个方法调用中创建一个新实例对我来说都是不好的。而且我不明白为什么不显示堆栈跟踪。将日志记录级别更改为调试级别也无济于事。

0 个答案:

没有答案