java - Http outbound-gateway:有没有办法处理非 HTTP 错误,特别是“无连接”错误?
问题描述
我的网关可以HTTP
通过自定义错误处理程序(扩展DefaultResponseErrorHandler
)处理错误。但是如果出现连接失败错误,网关会保持沉默。
网关架构:
<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
推荐阅读
- bbc-microbit - micro:bit 和 /dev/ttyACM* 在 GNU/Linux 系统上
- azure - 在 ADX 中,如何展平我的数据以过滤掉特定时间窗口中的空值?
- javascript - 如何在不重写的情况下扩展对象子对象
- php - “段落”实体类型不存在。在 Drupal\Core\Entity\EntityTypeManager->getDefinition()
- codeigniter-4 - Codeigniter 4注册到多个表
- pytorch - 根据给定的维度从 PyTorch 张量中拆分和提取值
- c - 更改以 execve() 开始的子进程的当前目录
- function - 获取值的函数/宏
- android - 尝试从 Android Studio 为 Azure Notification Hub 下载 jar 时出现 Flutter Maven 错误
- r - R中的条件合并或左连接两个数据框