[ https://issues.apache.org/jira/browse/CAMEL-21376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17892125#comment-17892125 ]
Claus Ibsen commented on CAMEL-21376: ------------------------------------- try with 4.8.1, we have fixed camel-zipfile. > UseOriginalAggregationStrategy - null pointer > --------------------------------------------- > > Key: CAMEL-21376 > URL: https://issues.apache.org/jira/browse/CAMEL-21376 > Project: Camel > Issue Type: Bug > Components: came-core > Affects Versions: 4.8.0 > Reporter: Grzegorz Rozanski > Priority: Minor > Fix For: 4.8.2, 4.9.0 > > Attachments: camel-null-pointer.log > > > I found a case when NullPointerException occurs in > UseOriginalAggregationStrategy's aggregate method. > > I have this route configuration: > {code:java} > .multicast(AggregationStrategies.useOriginal()).parallelProcessing() > .to(DIRECT_ROUTE1) > .to(DIRECT_ROUTE2) > {code} > > and in the DIRECT_ROUTE2 there is: > {code:java} > > .doTry() > .unmarshal().zipFile() > {code} > When the zip file is invalid there's exception handling in > UseOriginalAggregationStrategy::aggregate method: > > {code:java} > exception = checkCaughtException(oldExchange, newExchange); > if (exception != null) { > if (original != null) { > original.setProperty(Exchange.EXCEPTION_CAUGHT, exception); > } else { > oldExchange.setProperty(Exchange.EXCEPTION_CAUGHT, exception); > //NULL POINTER oldExchange is null > } > } {code} > > I checked javadoc about this aggregate method it says that: > Params: > oldExchange - the oldest exchange (is null on first aggregation as we only > have the new exchange) > > and I think this is what happens in my case when I get NullPointerException > in line 78 (oldExchange is null): > > {code:java} > } else { > oldExchange.setProperty(Exchange.EXCEPTION_CAUGHT, exception); > } > {code} > When I create my own aggregation strategy based on > UseOriginalAggregationStrategy and modify this `else` part everything works > properly: > > {code:java} > } else if (oldExchange != null) { > oldExchange.setProperty(Exchange.EXCEPTION_CAUGHT, exception); > } > {code} > > I see that similar null check already exists in checkCaughtException method. > > The full stack trace can be found as attachment to this ticket. > This error does not happen on Camel 4.4.0. -- This message was sent by Atlassian Jira (v8.20.10#820010)