Apache camel CamelSplitter在失败时存储CamelSplitSize和处理的行
[1] 从[1]链接中,我看到,大小将在已完成的交换上 我正在学习camel,我想知道是否有一种方法可以拆分包含100行的xml文件(假设为100行) 如果在处理第50行时分割失败,我们需要将CamelSplitIndex显示为50,CamelSplitSize显示为100,CamelSplitComplete显示为falseApache camel CamelSplitter在失败时存储CamelSplitSize和处理的行,apache-camel,spring-dsl,Apache Camel,Spring Dsl,[1] 从[1]链接中,我看到,大小将在已完成的交换上 我正在学习camel,我想知道是否有一种方法可以拆分包含100行的xml文件(假设为100行) 如果在处理第50行时分割失败,我们需要将CamelSplitIndex显示为50,CamelSplitSize显示为100,CamelSplitComplete显示为false .bean(Splitter.class,"saveFile("${camelContext.properties[mySplitSize]}, ${camelConte
.bean(Splitter.class,"saveFile("${camelContext.properties[mySplitSize]}, ${camelContext.properties[mySplitIndex]}, ${camelContext.properties[mySplitComplete]})")
我找不到一种方法来实现这一点,因为链接[1]明确指出,大小将仅存储在已完成的交换上。实现此目的的任何方法???如果需要此属性,您可以捕获导致停止拆分器的异常,并获取导致异常的exchange。在那里你可以找到你的财产
public void show(Exchange exchange) {
CamelExchangeException camelExceptionCaught = (CamelExchangeException) exchange.getProperty("CamelExceptionCaught");
System.out.println(camelExceptionCaught.getExchange().getProperty("CamelSplitSize"));
System.out.println(camelExceptionCaught.getExchange().getProperty("CamelSplitComplete"));
System.out.println(camelExceptionCaught.getExchange().getProperty("CamelSplitIndex"));
}