이 절을 사용하여 내 프로젝트에서 발생하는 모든 예외를 catch하여 동작을 사용자 정의합니다.onexception 절이 테스트 케이스에서 작동하지 않습니다 - Camel
<onException>
<exception>java.lang.Exception</exception>
<handled><constant>true</constant></handled>
<process ref="prepareExceptionProcessor"/>
<to uri="activemq:int.sendmail" />
</onException>
오류 발생시 모든 경로에서 java.lang.Exception 만 발생한다는 점을 고려하십시오. URI에 "upload.toFtp"가 나던 존재하는 연결을 설정하는 시험에서
<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>
때문에 예외가 발생 :
예외를 발생 경로이있다. 테스트는 컨텍스트를 시작하고 "activemq : int.sendmail"큐에 메시지가 삽입 될 때까지 대기합니다.
퓨즈에 프로젝트를 설치하면 <onException>
이 제대로 작동하지만 예외 유형을 throw하는 테스트 사례를 실행할 때 <onException>
이 작동하지 않습니다.
예외가 발생했을 때의 테스트 사례를 보여주는 로그입니다. (2796-1-86 : ExchangeId에 2796-1-86의 MessageID) -
: 파일에 대한 org.apache [email protected]2336bff7오류 org.apache.camel.processor.DefaultErrorHandler는 대한 배달 을하지 못했습니다. au.com.inte에 파일 이름을 업로드하는 중 오류가 발생했습니다. org.apache.camel.util.AsyncProcessorHelper.process에서 org.apache.camel.util.AsyncProcessorConverterHelper $ ProcessorToAsyncProcessorBridge.process (AsyncProcessorConverterHelper.java:61) 에서 .processor.ValidateExceptionProcessor.process (ValidateExceptionProcessor.java:22) (AsyncProcessorHelper.java:73) at org.apache.camel.processor.DelegateAsyncProcessor.processNext (DelegateAsyncProcessor.java:99) at org.apache.camel.processor에서 0 org.apache.camel.processor.DelegateAsyncProcessor.process org.apache.camel.util.AsyncProcessorHelper.process (AsyncProcessorHelper.java:73)에서 (DelegateAsyncProcessor.java:90) org.apache.camel.processor.interceptor.TraceInterceptor.process에서 .DelegateAsyncProcessor.processNext org.apache.camel.processor.DelegateAsyncProcessor.process (DelegateAsyncProcessor.java:90)에서 (DelegateAsyncProcessor.java:99) (TraceInterceptor .java : 91) at org.apache.camel.util.AsyncProcessorHelper.process (AsyncProcessorHelper.java:73) at org.apache.camel.processor.DelegateAsyncProcessor.processNext (De org.apache.camel.fabric.FabricTraceProcessor.process (FabricTraceProcessor.java:81에서 org.apache.camel.processor.DelegateAsyncProcessor.process (DelegateAsyncProcessor.java:90) ) 에서의 legateAsyncProcessor.java:99) org.apache.camel.processor에서 org.apache.camel.util.AsyncProcessorHelper.process org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler (RedeliveryErrorHandler.java:334)에서 (AsyncProcessorHelper.java:73) .RedeliveryErrorHandler.process (RedeliveryErrorHandler.java:220) at org.apache.camel.processor.RouteContextProcessor.processNext (RouteContextProcessor.자바 45) org.apache.camel.processor.DelegateAsyncProcessor.process (DelegateAsyncProcessor.java:90) 에서 org.apache.camel.processor.interceptor.DefaultChannel.process (DefaultChannel.java:303 AT)에서 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) at org.apache.camel.processor.RouteContextProcessor.processNext (RouteContextProcessor.java:45) at org.apache.camel.processor.DelegateAsyncProcessor.process (DelegateAsyncProcessor.java:90) 에서 org.apache.camel.processor에서 org.apache.camel.processor.UnitOfWorkProcessor.processAsync org.apache.camel.processor.UnitOfWorkProcessor.process (UnitOfWorkProcessor.java:117)에서 (UnitOfWorkProcessor.java:150) org.apache.camel.util.AsyncProcessorHelper.process에서 .RouteInflightRepositoryProcessor.processNext org.apache.camel.processor.DelegateAsyncProcessor.process (DelegateAsyncProcessor.java:90)에서 (RouteInflightRepositoryProcessor.java:48) (AsyncProcessorHelper.java : 73) at org.apache.camel.processor.DelegateAsyncProcessor.processNext (DelegateAsyncProcessor.java:99) at org.apache.camel. org.apache.camel.component.file.GenericFileConsumer.processExchange에서 processor.DelegateAsyncProcessor.process org.apache.camel.management.InstrumentationProcessor.process (InstrumentationProcessor.java:73)에서 (DelegateAsyncProcessor.java:90) ( org.apache.camel.component.file.GenericFileConsumer.poll에서 org.apache.camel.component.file.GenericFileConsumer.processBatch (GenericFileConsumer.java:189) (GenericFileConsumer.java에서 GenericFileConsumer.java:336) : 155) at org.apache.camel.impl.ScheduledPollConsumer.doRun (ScheduledPollConsumer.java:142) at org.apache.camel.impl.ScheduledPollConsumer.run (ScheduledPollC onsumer.java:92) java.util.concurrent.FutureTask $ Sync.innerRunAndReset (FutureTask.java:351) 에서 java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:471) 에서 에서 java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask에서 java.util.concurrent.FutureTask.runAndReset java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access에서 (FutureTask.java:178) $ 301 (ScheduledThreadPoolExecutor.java:178) .run (ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) at java.util.concurre (Thread.java:722) 2014-01-08 11:44:20 WARN org.apache.camel.component. file.GenericFileOnCompletion - 롤백 파일 방법 : GenericFile [/tmp/test/work/feedsToUpload/140107034802854_2_.xml.gz]
문제를 찾을 수 있도록 도와 주시겠습니까?
고마워요.
을 사용해야 할 수 있습니다 –