Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java http入站网关中的错误通道未捕获来自消息转换器的消息传递异常_Java_Spring_Spring Integration - Fatal编程技术网

Java http入站网关中的错误通道未捕获来自消息转换器的消息传递异常

Java http入站网关中的错误通道未捕获来自消息转换器的消息传递异常,java,spring,spring-integration,Java,Spring,Spring Integration,但是SeerealErrorHandler什么也抓不到。(没有来自CustomErrorHandler的日志) 似乎spring默认错误处理程序管理对用户的返回响应 如何在错误通道中捕获这些错误(来自消息转换器) 问题是,未捕获来自消息转换器的异常,而捕获SendChannel和ReplyChannel之间发生的其他异常。如何从消息转换器捕获异常 转换过程中过早出现错误;错误通道仅获取网关下游发生的错误 您可能可以使用servlet过滤器做一些事情 <int-http:inbound-g

但是SeerealErrorHandler什么也抓不到。(没有来自CustomErrorHandler的日志)

似乎spring默认错误处理程序管理对用户的返回响应

如何在错误通道中捕获这些错误(来自消息转换器)

  • 问题是,未捕获来自消息转换器的异常,而捕获SendChannel和ReplyChannel之间发生的其他异常。如何从消息转换器捕获异常

转换过程中过早出现错误;错误通道仅获取网关下游发生的错误

您可能可以使用servlet过滤器做一些事情

<int-http:inbound-gateway id="inboundGateway"
                       path="inboundEndpoint"
                       supported-methods="PUT" request-payload-type="customJsonType"
                       message-converters="jacksonJSONConverter"
                       merge-with-default-converters="true"
                       error-channel="inboundErrorChannel"
                       request-channel="SendChannel"
                       reply-channel="ReplyChannel"/>

<int:channel id="SendChannel" />

<int:channel id="ReplyChannel" />

<int:channel id="inboundErrorChannel" />

<int:service-activator input-channel="inboundErrorChannel" ref="customErrorHandler" method="handle"/>

<bean id="customErrorHandler" class="CustomErrorHandler"/>
public class CustomErrorHandler {

    private Logger logger = LoggerFactory.getLogger(this.getClass());
    public void handle(Message<?> message) {
    logger.debug("payload: {}", message.getPayload());
    }
}
org.springframework.messaging.MessagingException: Could not convert request: no suitable HttpMessageConverter found for expected type