You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2015/12/25 10:22:49 UTC

[jira] [Resolved] (CAMEL-9448) java.lang.NullPointerException in the DefaultCamelContext.removeEndpoints()

     [ https://issues.apache.org/jira/browse/CAMEL-9448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-9448.
--------------------------------
       Resolution: Fixed
         Assignee: Claus Ibsen
    Fix Version/s: 2.15.0

Camel 2.15 onwards do not use a soft cache for endpoints.

Camel 2.14.x is EOL.

> java.lang.NullPointerException in the DefaultCamelContext.removeEndpoints()
> ---------------------------------------------------------------------------
>
>                 Key: CAMEL-9448
>                 URL: https://issues.apache.org/jira/browse/CAMEL-9448
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.14.1
>            Reporter: Andy Fedotov
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 2.15.0
>
>
> DefaultCamelContext uses LRUSoftCache for endpoints cache. LRUSoftCache store values as SoftReference which can be reclaimed by GC. DefaultCamelContext.removeEndpoints() does not take into account this fact. This sometimes leads to java.lang.NullPointerException.
> We are still tied to 2.14.x Camel, because of our target environment is IBM enterprise product running under IBM WAS / IBM JDK 1.6. But seems like this affects all latest Camel releases. Here is an example of error stack trace I observe from time to time...
> {noformat}
> 0 java.lang.NullPointerException: null 
> 1 at org.apache.camel.impl.DefaultCamelContext.removeEndpoints(DefaultCamelContext.java:465) ~[camel-core-2.14.1.jar:2.14.1] 
> 2 at com.amrusoft.easimport.biscc.BisccDocumentImporterBean.execute(BisccDocumentImporterBean.java:196) ~[adapter-biscc-1.4.0.jar:na] 
> 3 at sun.reflect.GeneratedMethodAccessor600.invoke(Unknown Source) ~[na:na] 
> 4 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) ~[na:1.6.0] 
> 5 at java.lang.reflect.Method.invoke(Method.java:611) ~[na:1.6.0] 
> 6 at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:408) ~[camel-core-2.14.1.jar:2.14.1] 
> 7 at org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:279) ~[camel-core-2.14.1.jar:2.14.1] 
> 8 at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:252) ~[camel-core-2.14.1.jar:2.14.1] 
> 9 at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:167) ~[camel-core-2.14.1.jar:2.14.1] 
> 10 at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105) [camel-core-2.14.1.jar:2.14.1] 
> 11 at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:67) ~[camel-core-2.14.1.jar:2.14.1] 
> 12 at org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:103) ~[camel-core-2.14.1.jar:2.14.1] 
> 13 at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:71) ~[camel-core-2.14.1.jar:2.14.1] 
> 14 at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) ~[camel-core-2.14.1.jar:2.14.1] 
> 15 at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:120) ~[camel-core-2.14.1.jar:2.14.1] 
> 16 at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) [camel-core-2.14.1.jar:2.14.1] 
> 17 at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416) [camel-core-2.14.1.jar:2.14.1] 
> 18 at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) [camel-core-2.14.1.jar:2.14.1] 
> 19 at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) [camel-core-2.14.1.jar:2.14.1] 
> 20 at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) [camel-core-2.14.1.jar:2.14.1] 
> 21 at org.apache.camel.processor.idempotent.IdempotentConsumer.process(IdempotentConsumer.java:125) [camel-core-2.14.1.jar:2.14.1] 
> 22 at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) [camel-core-2.14.1.jar:2.14.1] 
> 23 at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416) [camel-core-2.14.1.jar:2.14.1] 
> 24 at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) [camel-core-2.14.1.jar:2.14.1] 
> 25 at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) [camel-core-2.14.1.jar:2.14.1] 
> 26 at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) [camel-core-2.14.1.jar:2.14.1] 
> 27 at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105) [camel-core-2.14.1.jar:2.14.1] 
> 28 at org.apache.camel.processor.Pipeline.process(Pipeline.java:60) [camel-core-2.14.1.jar:2.14.1] 
> 29 at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:166) [camel-core-2.14.1.jar:2.14.1] 
> 30 at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:433) [camel-core-2.14.1.jar:2.14.1] 
> 31 at org.apache.camel.component.file.remote.RemoteFileConsumer.processExchange(RemoteFileConsumer.java:99) [camel-ftp-2.14.1.jar:2.14.1] 
> 32 at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:211) [camel-core-2.14.1.jar:2.14.1] 
> 33 at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:175) [camel-core-2.14.1.jar:2.14.1] 
> 34 at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:187) [camel-core-2.14.1.jar:2.14.1] 
> 35 at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:114) [camel-core-2.14.1.jar:2.14.1] 
> 36 at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53) [spring-context-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
> 37 at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) [spring-context-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
> 38 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:450) [na:1.6.0] 
> 39 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:314) [na:1.6.0] 
> 40 at java.util.concurrent.FutureTask.run(FutureTask.java:149) [na:1.6.0] 
> 41 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:109) [na:1.6.0] 
> 42 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:217) [na:1.6.0] 
> 43 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:908) [na:1.6.0] 
> 44 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:931) [na:1.6.0] 
> 45 at java.lang.Thread.run(Thread.java:773) [na:1.6.0]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)