[
https://issues.apache.org/jira/browse/CAMEL-12511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16474368#comment-16474368
]
Viachaslau Tsikhanovich commented on CAMEL-12511:
-------------------------------------------------
I believe
[https://github.com/apache/camel/commit/cd0d07d1745cbf153881160d73e28b2abc240ebb]
could be reverted to fix this.
However I am not sure if it would be a right approach because of this
[comment|https://github.com/apache/camel/pull/2283#discussion_r182332929].
As I can see for consumers of other components it is OK to [pass
_scheduledExecutorService_ to a
constructor|https://github.com/apache/camel/blob/camel-2.21.1/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollConsumer.java#L77]
If some alternative solution (instead of reverting) is required I could try to
work on it.
> camel-consul - NPE on ConsulEventConsumer start
> -----------------------------------------------
>
> Key: CAMEL-12511
> URL: https://issues.apache.org/jira/browse/CAMEL-12511
> Project: Camel
> Issue Type: Bug
> Components: camel-consul
> Affects Versions: 2.21.1
> Reporter: Viachaslau Tsikhanovich
> Priority: Critical
> Fix For: 2.21.2, 2.22.0
>
>
> When _doStart_ is called on ConsulEventConsumer it first
> [calls|https://github.com/apache/camel/blob/camel-2.21.1/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulEventConsumer.java#L54]
> _doStart_ of a superclass _AbstractConsulConsumer_ when
> _scheduledExecutorService_ is not initialized yet.
> EventWatcher run [is
> allowed|https://github.com/apache/camel/blob/camel-2.21.1/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/AbstractConsulConsumer.java#L95].
> Thus _EventWatcher.watch_ is called with uninitialized
> _scheduledExecutorService_ and failing with NPE.
> {quote}
> Caused by: java.lang.NullPointerException: null
> at
> org.apache.camel.component.consul.endpoint.ConsulEventConsumer$EventWatcher.watch(ConsulEventConsumer.java:76)
> at
> org.apache.camel.component.consul.endpoint.ConsulEventConsumer$EventWatcher.watch(ConsulEventConsumer.java:68)
> at
> org.apache.camel.component.consul.endpoint.AbstractConsulConsumer$AbstractWatcher.run(AbstractConsulConsumer.java:96)
> at
> org.apache.camel.component.consul.endpoint.AbstractConsulConsumer.doStart(AbstractConsulConsumer.java:56)
> at
> org.apache.camel.component.consul.endpoint.ConsulEventConsumer.doStart(ConsulEventConsumer.java:54)
> at
> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
> at
> org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:3705)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRouteConsumers(DefaultCamelContext.java:4023)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartRouteConsumers(DefaultCamelContext.java:3958)
> at
> org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:3878)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:3642)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3494)
> at
> org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:209)
> at
> org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:3253)
> at
> org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:3249)
> at
> org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:3272)
> at
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:3249)
> at
> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
> at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:3165)
> at
> org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:133)
> ...
> {quote}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)