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>