Ok I will do it when I get the time later today hopefully. I also have to find out how to submit samples to JIRA?
Claus Ibsen-2 wrote: > > On Fri, Jun 4, 2010 at 1:56 PM, ankelee <andreasasm...@gmail.com> wrote: >> >> You think it might be a bug? >> > > Yeah as there is a NPE error in the camel-core. > It was expected to find an aggregated exchange using a correlation key > but it could not, it returned null. > > So if you got a sample then I can debug it to see where the problem lies. > > > >> "And why does the Z file rollback?" >> >> That is the question :) >> >> >> >> Claus Ibsen-2 wrote: >>> >>> Hi >>> >>> Can you create a JIRA ticket and if possible attach a small test / >>> unit test about this. >>> >>> And why does the Z file rollback? >>> >>> >>> On Fri, Jun 4, 2010 at 1:22 PM, ankelee <andreasasm...@gmail.com> wrote: >>>> >>>> I'm trying to use the aggregator like so: >>>> >>>> <route id="BundlingRoute" autoStartup="true"> >>>> <from >>>> uri="file:{{directory.outgoing}}?include=\A{{edifact.messagePrefix}}.*" >>>> /> >>>> <to uri="xslt:file:{{schema.edifactToIntermediate}}" /> >>>> <setHeader headerName="virNo"> >>>> <xpath> >>>> /edi/transaction[1]/@VirNo >>>> </xpath> >>>> </setHeader> >>>> <unmarshal ref="jaxbIntermediate" /> >>>> <aggregate strategyRef="EdifactAggregator" >>>> completionFromBatchConsumer="true"> >>>> <correlationExpression> >>>> <header>virNo</header> >>>> </correlationExpression> >>>> <marshal ref="jaxbIntermediate" /> >>>> <to uri="xslt:file:{{schema.intermediateToEdifact}}" /> >>>> <to uri="file:data/out/outbox/vans_sim" /> >>>> </aggregate> >>>> </route> >>>> >>>> This works fine, aggregation etc. works, until I reach the last file of >>>> the >>>> directory I get an exception: >>>> This causes a loop where the file rolls back and camel reads it and >>>> rolls >>>> back etc. >>>> >>>> This only happens if the last file in the directory is not in a series >>>> that >>>> will be aggregated. >>>> so if I have: >>>> >>>> fileA1 >>>> fileA2 >>>> fileB1 >>>> fileC1 >>>> fileC2 >>>> >>>> This works as intended. I get 3 aggregated files on the other end: >>>> fileA1, >>>> fileB1, fileC1. >>>> But if I do: >>>> >>>> fileA1 >>>> fileA2 >>>> fileC1 >>>> fileC2 >>>> fileZ1 >>>> >>>> This fails and I get fileA1, fileC1 outputted. FileZ1 is getting rolled >>>> back >>>> and throws the below exception: >>>> >>>> [t/outbox?include=%5CAOPSIGE_.*] GenericFileOnCompletion WARN >>>> Rollback file strategy: >>>> org.apache.camel.component.file.strategy.genericfilerenameprocessstrat...@4c7e10 >>>> for file: GenericFile[OPSIGE_single3.edi] >>>> [t/outbox?include=%5CAOPSIGE_.*] DefaultErrorHandler ERROR >>>> Failed >>>> delivery for exchangeId: c09eebfc-7d5e-49dc-82e1-dd4ffb1f5de3. >>>> Exhausted >>>> after delivery attempt: 1 caught: java.lang.NullPointerException >>>> java.lang.NullPointerException >>>> at >>>> org.apache.camel.processor.aggregate.AggregateProcessor.doAggregation(AggregateProcessor.java:249) >>>> at >>>> org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:182) >>>> at >>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) >>>> at >>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53) >>>> at >>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82) >>>> at >>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:97) >>>> at >>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) >>>> at >>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:185) >>>> at >>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:151) >>>> at >>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:89) >>>> at >>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49) >>>> at >>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228) >>>> at org.apache.camel.processor.Pipeline.process(Pipeline.java:75) >>>> at >>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70) >>>> at >>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48) >>>> at >>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) >>>> at >>>> org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:269) >>>> at >>>> org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:137) >>>> at >>>> org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:103) >>>> at >>>> org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98) >>>> at >>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) >>>> at >>>> java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) >>>> at >>>> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) >>>> at >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) >>>> at >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181) >>>> at >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>>> at java.lang.Thread.run(Thread.java:619) >>>> [t/outbox?include=%5CAOPSIGE_.*] GenericFileOnCompletion ERROR >>>> Caused >>>> by: [java.lang.NullPointerException - null] >>>> java.lang.NullPointerException >>>> at >>>> org.apache.camel.processor.aggregate.AggregateProcessor.doAggregation(AggregateProcessor.java:249) >>>> at >>>> org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:182) >>>> at >>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) >>>> at >>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53) >>>> at >>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82) >>>> at >>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:97) >>>> at >>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) >>>> at >>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:185) >>>> at >>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:151) >>>> at >>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:89) >>>> at >>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49) >>>> at >>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228) >>>> at org.apache.camel.processor.Pipeline.process(Pipeline.java:75) >>>> at >>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70) >>>> at >>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48) >>>> at >>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) >>>> at >>>> org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:269) >>>> at >>>> org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:137) >>>> at >>>> org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:103) >>>> at >>>> org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98) >>>> at >>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) >>>> at >>>> java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) >>>> at >>>> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) >>>> at >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) >>>> at >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181) >>>> at >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>>> at java.lang.Thread.run(Thread.java:619) >>>> >>>> >>>> >>>> -- >>>> View this message in context: >>>> http://old.nabble.com/Aggregator-problem-with-files-%28Camel-2.3%29-tp28778641p28778641.html >>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>> >>>> >>> >>> >>> >>> -- >>> Claus Ibsen >>> Apache Camel Committer >>> >>> Author of Camel in Action: http://www.manning.com/ibsen/ >>> Open Source Integration: http://fusesource.com >>> Blog: http://davsclaus.blogspot.com/ >>> Twitter: http://twitter.com/davsclaus >>> >>> >> >> -- >> View this message in context: >> http://old.nabble.com/Aggregator-problem-with-files-%28Camel-2.3%29-tp28778641p28778973.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Author of Camel in Action: http://www.manning.com/ibsen/ > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > > -- View this message in context: http://old.nabble.com/Aggregator-problem-with-files-%28Camel-2.3%29-tp28778641p28779875.html Sent from the Camel - Users mailing list archive at Nabble.com.