FunctionExpression

我们引入了 FunctionExpression 类(SpEL 的 Expression 接口的实现),以便我们可以使用 lambda 和 泛型。对于 DSL 组件,提供了 Function<T, R> 选项,以及 expression 选项,当存在来自 Core Spring Integration 的隐式 Strategy 变体时。以下示例展示了如何使用函数表达式

.enrich(e -> e.requestChannel("enrichChannel")
            .requestPayload(Message::getPayload)
            .propertyFunction("date", m -> new Date()))

FunctionExpression 也支持运行时类型转换,就像在 SpelExpression 中一样。