使用@Transformer注释删除自定义标头

时间:2018-01-24 20:24:03

标签: spring-integration

我想知道是否可以使用@Transformer注释删除自定义邮件标题。

@Transformer(inputChannel = "inputChannel", outputChannel = "outputChannel")
public Message transform(Message message) {
    HeaderFilter filter = new HeaderFilter("privateKey");
    return message;
}

1 个答案:

答案 0 :(得分:2)

正确,你可以通过remove功能

来做到这一点
@Transformer(inputChannel = "inputChannel", outputChannel = "outputChannel")
public Message transform(Message message) {
    return MessageBuilder.fromMessage(message).removeHeader("privateKey").build();
}

这种方法你不需要任何其他逻辑。

另一方面,您可以使用HeaderFilter代替:

@Transformer(inputChannel = "inputChannel", outputChannel = "outputChannel")
@Bean
public HeaderFilter headerFilter() {
    return new HeaderFilter("privateKey");
}