【发布时间】:2022-11-28 16:13:27
【问题描述】:
下面是主要的 Spring Integration 流程,它通过 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("*")
【问题讨论】:
标签: java spring-boot spring-integration spring-integration-dsl spring-integration-http