如何将 @Transformer bean 与 Spring 集成 Java DSL 一起使用?

How do I use a @Transformer bean with Spring Integration Java DSL?

我想使用一个带有 @Transformer 注释方法的 bean 来转换一条消息,该消息访问其 headers 的一部分并带有 @Header 注释。有没有办法用 Java DSL(用 Java 7,所以没有 lambda)做到这一点?好像不是。

这个...

.transform("@transformerBean.someMethod(payload, headers['foo'])")

...应该可以。

你可以这样做:

.handle("myTransformer", "myMethod")

如果你的变压器没有 return Message.

从另一方面来说,如果您已经在其中使用了 @Transformer,您可以添加 channel 属性来为该方法创建真正的端点并使用来自 IntegrationFlow 的通道,例如.gateway("transformChannel")

从 1.1 开始,我们将添加更多 EIP 方法,使其在处理类似情况时更加灵活。

欢迎就此事提出GH issue