我有一个普遍的问题。我们正在将一些旧代码升级到spring-integration
的v4.1.3。假设我们有一个服务激活器,它接收类型为Foo的域对象,并在输出通道上返回相同的对象(在更改该对象的某些属性之后)。
我们现有的代码有如下签名。这是正确的惯例吗?如果我不需要标题,我可以直接返回我的有效负载并将框架包装成消息吗?:
public Message<Foo> computeValue(Foo payload, @Headers Map<String, Object> headerMap) {
//...
return MessageBuilder.withPayload(payload).copyHeaders(headerMap).build();
}
答案 0 :(得分:1)
是的,你不需要那样做。更重要的是没有意义,因为在Service Activator的情况下,框架会独立于您的工作将请求标头填充到回复消息中。
所以,如果你不需要在这个问题上做一些特定的逻辑,请考虑根本不关心标题。