java - 用于对象到对象转换的适当 Spring Integration 组件

标签 java spring spring-integration

我目前在集成 channel 上收到一个对象,类似于:

public class LargeObject {
    private final String name;
    private final Integer id;
}

我想要name将其包装在我自己的对象中并将其发送到另一个 channel 。

所以通常我想以类似于 <integration:json-to-object-transformer> 的方式转换消息有效负载.

我可以用 <integration:service-activator> 来做到这一点,但我想知道是否有专门用于这项工作的组件?

谢谢

最佳答案

正确的组件是:

<transformer/>

假设您的新对象有一个构造函数,并且您的 LargeObject 有一个 getName() 方法,您可以使用带有表达式的简单转换器...

<int:transformer expression="new foo.OtherObject(payload.name)"
    input-channel="foo" output-channel="bar" />

如果您需要更复杂的操作,只需使用此方法制作 POJO...

public OtherObject transformIt(LargeObject input) {...}

并使用...

<int:transformer ref="transformerPojo"
    input-channel="foo" output-channel="bar" />

关于java - 用于对象到对象转换的适当 Spring Integration 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12371514/

相关文章:

spring-integration - Spring Cloud Stream有没有SNS模块

java - 使用 Spring AMQP 出站网关发送消息 header

java - Jetty Gzip 处理程序 (JbossAs7)

java - 在 Jetty 测试中重用 ServletContainerInitializer

java - Spring集成SFTP - 不会重新下载本地删除的文件

java - 在 Spring boot Rest api 中使用 @embeded 时,在数据库中获取 null 值? java新手帮帮我吧

spring - 在 Spring mvc 3.1 中添加自定义 RequestCondition

Java 访问 JSON 字符串中的数据

java - 方法参数和 JSTL

Java:继承与依赖注入(inject) "Autowired"