Http 出站网关:有没有办法处理非 HTTP 错误,尤其是 "no connection" 错误?
Http outbound-gateway: is there a way to handle not HTTP errors and, in particular, "no connection" error?
我的网关可以通过自定义错误处理程序(扩展 DefaultResponseErrorHandler
)处理 HTTP
错误。但是如果出现连接失败错误,网关是静默的。
网关架构:
<int-http:outbound-gateway id="myGateway"
request-channel="inChannel"
reply-channel="outChannel"
url="<url>"
extract-request-payload="true"
request-factory="clientHttpRequestFactory"
expected-response-type="java.lang.String"
error-handler="myRespErrHandler"/>
<bean
id="httpComponentsMessageSender"
class="org.springframework.ws.transport.http.HttpComponentsMessageSender"/>
<bean
id="clientHttpRequestFactory"
class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory">
<property name="httpClient" value="#{httpComponentsMessageSender.httpClient}"/>
</bean>
有没有办法处理这样的错误?
提前谢谢。
是的。它被称为 请求处理程序建议 。您可以使用重试来重新连接尝试,或者您可以使用表达式建议处理非 HTTP 错误:https://docs.spring.io/spring-integration/docs/5.0.8.RELEASE/reference/html/messaging-endpoints-chapter.html#message-handler-advice-chain
我的网关可以通过自定义错误处理程序(扩展 DefaultResponseErrorHandler
)处理 HTTP
错误。但是如果出现连接失败错误,网关是静默的。
网关架构:
<int-http:outbound-gateway id="myGateway"
request-channel="inChannel"
reply-channel="outChannel"
url="<url>"
extract-request-payload="true"
request-factory="clientHttpRequestFactory"
expected-response-type="java.lang.String"
error-handler="myRespErrHandler"/>
<bean
id="httpComponentsMessageSender"
class="org.springframework.ws.transport.http.HttpComponentsMessageSender"/>
<bean
id="clientHttpRequestFactory"
class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory">
<property name="httpClient" value="#{httpComponentsMessageSender.httpClient}"/>
</bean>
有没有办法处理这样的错误? 提前谢谢。
是的。它被称为 请求处理程序建议 。您可以使用重试来重新连接尝试,或者您可以使用表达式建议处理非 HTTP 错误:https://docs.spring.io/spring-integration/docs/5.0.8.RELEASE/reference/html/messaging-endpoints-chapter.html#message-handler-advice-chain