camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Fedotov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-9448) java.lang.NullPointerException in the DefaultCamelContext.removeEndpoints()
Date Fri, 25 Dec 2015 11:47:49 GMT

    [ https://issues.apache.org/jira/browse/CAMEL-9448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15071524#comment-15071524
] 

Andy Fedotov commented on CAMEL-9448:
-------------------------------------

Thanks, Claus!
Ooops, I missed that 2.15 and onwards are migrated to DefaultEndpointRegistry which uses LRUCache
and has no such problem.

I think I could make a workaround in the our custom Components/Endpoints to avoid necessity
of such explicit removing from endpoint cache when running on the Camel 2.14.x.


> 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)

Mime
View raw message