Spring JDBC出站网关返回原始有效载荷。

问题描述 投票:0回答:1

使用 JdbcOutboundGateway,如何让回复是原始有效载荷?

目前,回复的有效载荷是 {UPDATED=1}. 无论是参考文档(Spring 5.2.x)还是源代码似乎都没有提供一个替代方案。

我是否应该扩展该类并覆盖 handleRequestMessage 来返回原来的有效载荷?该方法是 protected 在我看来,这是在邀请 extend 或者在Spring Integration中是否有一个首选的 "模式 "来处理 {UPDATED=1} 接下来 @ServiceActivator 并以某种方式恢复有效载荷。

如果有人愿意回复,请举一个使用configurationannotations而不是XML或DSL的例子。

编辑

我最后做了如下的事情。这样做是否可取?我没有使用'integration-jdbc'的方法,是不是遗漏了什么?

@Bean
@ServiceActivator(inputChannel="myIn", outputChannel="myOut")
public GenericHandler<String> saveToDb(@Autowired MyRepository myRepo) {
  return (payload, header) -> {
    MyClass x = (MyClass) headers.get("MyClassObject")
    myRepo.save(x);
    return payload;
  };
}
java spring spring-boot spring-integration spring-integration-jdbc
1个回答
0
投票

最简单的解决方法是在网关前添加一个头丰富器,将有效载荷复制到头中。

© www.soinside.com 2019 - 2024. All rights reserved.