Java 处理多线程拆分器/聚合器编排内部的异常,以转到聚合器,而不是MessagingGatewaySupport';s错误通道
我目前有一个拆分器,它可以将消息拆分为类似的消息,其中我只添加一个头值,当消息通过编排时,该头值将导致不同的响应 最后,将这些消息发送到聚合器以将响应聚合在一起 目前,它们以多线程方式工作,但当在拆分器/聚合器业务流程中引发运行时异常,并且它向errorChannel发送消息时,就会出现问题,该消息是在我实例化MessageGatewaySupport类时设置的 我想知道是否有一种方法可以将异常发送到聚合器,这将允许我的程序继续运行,并在我这边设置为多状态响应 下面是拆分器/聚合器编排的简化设置Java 处理多线程拆分器/聚合器编排内部的异常,以转到聚合器,而不是MessagingGatewaySupport';s错误通道,java,spring,spring-integration,Java,Spring,Spring Integration,我目前有一个拆分器,它可以将消息拆分为类似的消息,其中我只添加一个头值,当消息通过编排时,该头值将导致不同的响应 最后,将这些消息发送到聚合器以将响应聚合在一起 目前,它们以多线程方式工作,但当在拆分器/聚合器业务流程中引发运行时异常,并且它向errorChannel发送消息时,就会出现问题,该消息是在我实例化MessageGatewaySupport类时设置的 我想知道是否有一种方法可以将异常发送到聚合器,这将允许我的程序继续运行,并在我这边设置为多状态响应 下面是拆分器/聚合器编排的简化设置
拆分器
public List splitHeaderParamByFieldName(消息消息)抛出XPathExpressionException{
列表结果=新建ArrayList();
Object paramValue=message.getHeaders().get(splitFieldName);
if(参数值instanceof List){
for(对象值:(列表)参数值){
Message newMessage=MessageBuilder.withPayload(Message.getPayload())
.copyHeaders(message.getHeaders()).setHeader(“customHeader”,value).setHeader(“receiveTimeout”,60000).build();
结果.添加(newMessage);
}
}否则{
结果。添加(消息);
}
返回结果;
}
现在我只在xslt中抛出运行时异常,xslt将消息转换为对第三方应用程序的请求。当此异常发生时,它会导致它通过MessagingGatewaySupport类中定义为错误通道的通道发送,是否有办法使此异常改为发送到聚合器
其次,我在xslt下面有一个网关,gatway的输出通道也必须是聚合器吗?我还没有从该网关抛出异常
如果您需要更多信息来帮助我完成此请求,请告诉我。我很感激你能帮我解决各种问题 在拆分器和链之间需要另一个网关,在其错误通道上有一个流来转换故障并将其发送到聚合器 来自内部网关的回复将转到链的输出通道