使用 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;
};
}
最简单的解决方法是在网关前添加一个头丰富器,将有效载荷复制到头中。