在评估 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 将隐式使用它们。
我在使用 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 将隐式使用它们。