gpt4 book ai didi

java - Spring Integration - 在消息中添加自定义 header

转载 作者:行者123 更新时间:2023-12-02 08:59:55 25 4
gpt4 key购买 nike

我正在使用 Spring Integration 过滤器对传入的有效负载进行结构验证,如果验证失败,那么我想向原始消息添加一些自定义 header 。

过滤器代码如下:

@Service("structureValidationFilter")
public class StructureValidationFilter implements MessageSelector {

@Override
public boolean accept(Message<?> message) {
// TODO Auto-generated method stub
boolean status=true;

if(message.getPayload() instanceof CFKRequestBody) {
CFKRequestBody body=(CFKRequestBody)message.getPayload();
if(!body.getInitiatingPartyId().equalsIgnoreCase("BPKV")) {
message = MutableMessageBuilder.fromMessage(message).
setHeader("BPKV_ERROR_CODE", "Ïnvalid Initiating part id").
setHeader("HTTP_STATUS", "400").build();

return false;
}

}
return status;
}

}

但是 header 未填充在消息中。无法看到下一个组件中添加的标题。我在这里做错了什么。

最佳答案

您不能替换参数并期望将其传播到下一个组件; Java 不是这样工作的;您的新消息将被简单地丢弃。

使用服务激活器而不是过滤器并返回新消息,或返回 null,这是在该点结束流程的信号。

关于java - Spring Integration - 在消息中添加自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60245630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com