Apache camel 一个例外条款不包括´;t在测试用例中工作-Camel

Apache camel 一个例外条款不包括´;t在测试用例中工作-Camel,apache-camel,apache-servicemix,fuseesb,Apache Camel,Apache Servicemix,Fuseesb,我使用此子句捕获项目中发生的所有异常,以自定义其行为 <onException> <exception>java.lang.Exception</exception> <handled><constant>true</constant></handled> <process ref="prepareExceptionProcessor"

我使用此子句捕获项目中发生的所有异常,以自定义其行为

    <onException>
        <exception>java.lang.Exception</exception>
            <handled><constant>true</constant></handled>
            <process ref="prepareExceptionProcessor"/>
            <to uri="activemq:int.sendmail" />
    </onException>

java.lang.Exception
真的
考虑到所有路由在发生错误时只抛出java.lang.Exception

引发异常的路由如下所示:

    <route id="int.uploadFile">
        <from uri="[[toFilepath.forUpload.read]]"/>
        <process ref="generateFileNameFtpProcessor"/>
        <setHeader headerName="CamelFileName"><simple>[[fileName.toFtp]]</simple></setHeader>
        <to id="uploadFile" uri="[[upload.toFtp]]"/>
    </route>

[[fileName.toFtp]]
在测试中,uri“upload.toFtp”设置了一个不存在的连接,因此它们抛出一个异常。测试仅启动上下文并等待消息插入队列“activemq:int.sendmail”

当我在Fuse上安装项目时
工作正常,但当我执行抛出某种类型异常的测试用例时
不工作

这是在触发异常时显示测试用例的日志

错误org.apache.camel.processor.DefaultErrorHandler-传递失败 对于(ExchangeId:2796-1-86上的MessageId:2796-1-86)。筋疲力尽 传递尝试:1捕获:java.lang.Exception:上载文件时出错 名称为140107034802854_2_.xml.gz java.lang.Exception:错误 正在上载名为140107034802854_2_.xml.gz的文件 au.com.inte.processor.ValidateExceptionProcessor.process(ValidateExceptionProcessor.java:22) 在 org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) 在 org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) 在 org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) 在 org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) 在 org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) 在 org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) 在 org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) 在 org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) 在 org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) 在 org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) 在 org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) 在 org.apache.camel.fabric.FabricTraceProcessor.process(FabricTraceProcessor.java:81) 在 org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) 在 org.apache.camel.processor.RedeliveryRorHandler.processErrorHandler(RedeliveryRorHandler.java:334) 在 org.apache.camel.processor.RedeliveryRorHandler.process(RedeliveryRorHandler.java:220) 在 org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) 在 org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) 在 org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303) 在 org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) 位于org.apache.camel.processor.Pipeline.process(Pipeline.java:117) org.apache.camel.processor.Pipeline.process(Pipeline.java:80)位于 org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) 在 org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) 在 org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) 在 org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) 在 org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48) 在 org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) 在 org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) 在 org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) 在 org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) 在 org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) 在 org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:336) 在 org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:189) 在 org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:155) 在 org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:142) 在 org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:92) 在 Executors$RunnableAdapter.call(Executors.java:471) 在 java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) 位于java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在java.lang.Thread.run(Thread.java:722)2014-01-08 11:44:20警告 org.apache.camel.component.file.GenericFileOnCompletion-回滚 文件策略: org.apache.camel.component.file.strategy。GenericFileRenameProcessStrategy@2336bff7 档案: 通用文件[/tmp/test/work/feedsToUpload/140107034802854_2_.xml.gz]

你能帮我找到问题吗?
非常感谢。

看起来像你
 <onException>
    <exception>java.lang.Throwable</exception>
        <handled><constant>true</constant></handled>
        <to uri="activemq:int.sendmail" />
</onException>
 <onException>
    <exception>java.lang.Throwable</exception>
        <handled><constant>true</constant></handled>
        <to uri="mock:error" />
</onException>