0

使用JdbcOutboundGateway,我如何获得原始有效载荷的回复?

目前,响应负载是{UPDATED=1}. 参考文档(Spring 5.2.x)和源代码似乎都没有提供替代方案。

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

如果有人愿意回应,请举一个使用配置/注释而不是 XML 或 DSL 的示例。

编辑

我最终做了类似下面的事情。这样做是否可取?我是否因为不使用“集成-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;
  };
}
4

1 回答 1

0

最简单的解决方案是在网关之前添加标头丰富器,并将有效负载复制到标头中。

于 2020-04-27T13:50:06.643 回答