为入站网关回复超时设置 HTTP 状态代码?

Set HTTP status code for inbound gateway reply timeout?

我正在创建一个 Web 服务,它是另一个 Web 服务的网关。我正在使用 Spring 集成框架,特别是 Http Inbound Gateway 来接受传入请求。当 reply-timeout 被触发时,200 状态代码被 returned。理想情况下,我想 return 一个 504,因为我的 Web 服务没有收到来自与我通信的其他 Web 服务的及时回复。

 <int-http:inbound-gateway request-channel="authorizationRequestsChannel"
                      reply-channel="myReplyChannel"
                      path="/endpoint"
                      reply-timeout="30000"
                      supported-methods="POST" />

tl;博士

当回复通道超时时,inbound-gateway return 是一个 200 状态代码。是否可以将状态代码设置为另一个值?

不直接。

但是,您可以添加错误通道;并在下游组件上设置超时。当流抛出异常时将调用错误流,并且错误流可以 return 带有状态代码 header.

的消息

我们将了解如何添加一种机制来自定义超时状态代码。

我开了一个JIRA Issue.