[英]Message Headers is Spring Integration flow with subflows
下面是主要的 Spring 集成流程,它通过 HTTP 接收请求,使用多个子流程处理它,然后回复消费者。 问题是当流进入第一个子流时,它几乎丢失了所有的头,包括回复通道。
我想知道请求的标头应该达到什么程度? 到流的末尾(RESPONSE_CHANNEL)? 以及进入子流后如何避免丢包头?
@Bean
public IntegrationFlow exampleFlow() {
return IntegrationFlows.from(
Http.inboundGateway("/conversions/lower")
.requestMapping(r -> r.methods(HttpMethod.POST)
.mappedRequestHeaders("*")
.requestPayloadType(Foo.class)
.replyChannel(RESPONSE_CHANNEL)
.mappedResponseHeaders("*")
)
.transform(this:transforFoo)
.channel(CHANNEL1)
.handle(fooFlowConfiguration.flowHandler())
//several handlers in another subflow
.channel(RESPONSE_CHANNEL)
.get();
}
我试图在流程结束之前丰富标头,但它没有帮助并尝试添加.mappedResponseHeaders(“*”)
我想你只是移动到.channel(CHANNEL1).
这部分不起作用:
handle(fooFlowConfiguration.flowHandler())
//several handlers in another subflow
.channel(RESPONSE_CHANNEL)
我认为这一个.replyChannel(RESPONSE_CHANNEL)
用于出站网关。
据我所知,http 网关同步工作,只返回最后一个流量值。 在你的情况下,它是 CHANNEL1 最后一步
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.