Spring集成 - 服务激活器 - 方法签名

时间:2017-06-12 16:17:28

标签: spring-integration

我有一个普遍的问题。我们正在将一些旧代码升级到spring-integration的v4.1.3。假设我们有一个服务激活器,它接收类型为Foo的域对象,并在输出通道上返回相同的对象(在更改该对象的某些属性之后)。

我们现有的代码有如下签名。这是正确的惯例吗?如果我不需要标题,我可以直接返回我的有效负载并将框架包装成消息吗?:

public Message<Foo> computeValue(Foo payload, @Headers Map<String, Object> headerMap) { 
   //... 
   return MessageBuilder.withPayload(payload).copyHeaders(headerMap).build();
}

1 个答案:

答案 0 :(得分:1)

是的,你不需要那样做。更重要的是没有意义,因为在Service Activator的情况下,框架会独立于您的工作将请求标头填充到回复消息中。

所以,如果你不需要在这个问题上做一些特定的逻辑,请考虑根本不关心标题。