在评估 spring 集成表达式时获取 class 转换表达式

Getting class cast expression while evaluating the spring integration expression

我在使用 Spring 集成编译以下表达式时遇到 class 转换异常。

异常:

Caused by: org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type java.lang.Class to type java.lang.String

表达式:

<int:transformer expression=
        "((#{T(my.package.exceptions.MyCustomException)})
payload.getCause()).getMyCustomStringAssociatedWithExceptionInstance()" />

有什么帮助吗?

你不能用 SpEL 施法(不是 Java);但你不需要 - 你可以简单地使用

expression="payload.cause.myCustomStringAssociatedWithExceptionInstance"

神奇!

您也可以使用显式 getter,但 SpEL 将隐式使用它们。