1

ルートに多くの変換があり、ファイルの形式が正しくないなどの理由で一部の変換が失敗することがあるため、例外が発生した場合はメールを送信する必要があります。したがって、コンテキストでは、次のように宣言しました。

<camel:onException useOriginalMessage="true">
  <camel:exception>javax.xml.transform.TransformerException</camel:exception>
  <camel:redeliveryPolicy maximumRedeliveries="3"/>
  <camel:to uri="smtp://localhost:25?From=noreply-esb@me.com&amp;To=me@me.com" />
</camel:onException>

しかし、私のラクダが止まることなく変身をするのをやめているので、何も起こらないようです。また、電子メールは送信されません。

これはログです:

2013-02-01 14:55:09,645 | WARN  | ox/products_list | GenericFileOnCompletion          | ?                                   ? | 92 - org.apache.camel.camel-core - 2.8.5 | Rollback file strategy: org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@6fc72332 for file: GenericFile[/opt/servicemix/data/smx-data/outbox/products_list/product_export.xml]
2013-02-01 14:55:10,238 | ERROR | ox/products_list | DefaultErrorHandler              | ?                                   ? | 92 - org.apache.camel.camel-core - 2.8.5 | Failed delivery for exchangeId: ID-esb1-prod-prod-thesting-cyso-net-44582-1359563246542-5-1329. Exhausted after delivery attempt: 1 caught: javax.xml.transform.TransformerException: XML document structures must start and end within the same entity.
javax.xml.transform.TransformerException: XML document structures must start and end within the same entity.
        at org.apache.xalan.transformer.TransformerImpl.fatalError(TransformerImpl.java:780)[:]
        at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:756)[:]
        at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1273)[:]
        at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1251)[:]
        at org.apache.camel.builder.xml.XsltBuilder.process(XsltBuilder.java:123)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:102)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:72)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:48)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:114)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:284)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:109)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:90)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:318)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:209)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:306)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:116)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:79)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:111)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:61)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:114)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:284)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:109)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:90)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:318)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:209)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:306)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:111)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:61)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:114)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:284)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:109)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:90)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:306)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:318)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:209)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:139)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:106)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:573)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:506)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:219)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:90)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:306)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:139)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:106)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:353)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:176)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:137)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:139)[92:org.apache.camel.camel-core:2.8.5]
        at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:91)[92:org.apache.camel.camel-core:2.8.5]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_26]
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)[:1.6.0_26]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)[:1.6.0_26]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)[:1.6.0_26]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)[:1.6.0_26]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)[:1.6.0_26]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_26]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_26]
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_26]

私は何か間違ったことをしていますか?

4

1 に答える 1

1

変換が失敗した場合、次回変換が完了する可能性はほとんどありません。データが間違っています。したがって、ケースの再配信ポリシーは少し少なくなります。

ただし、例外を処理するように設定してから、SMTPエンドポイントを設定してみてください。

<camel:handled>
      <camel:constant>true</camel:constant>
</camel:handled>
于 2013-02-01T16:03:49.177 に答える