camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-11615) WorkerPool is null for auto-configured RxJava-based application
Date Tue, 01 Aug 2017 20:12:00 GMT

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

Claus Ibsen commented on CAMEL-11615:
-------------------------------------

Yeah thanks for testing. Its because the reactive stream component is not started before the
@PostConstruct code is run, where you call the subscribe method, which then runs the flow
- where the thread pool is null because its not started yet.

I guess it may be nicer to let the subscribe method "remember" it should start only after
the component has been started, so it startup after all the other stuff such as Camel has
been started.

This is more safter as you can have a race condition where the stream flow will trigger some
stream events you then route into camel which then happens to be starting up at the same time.


> WorkerPool is null for auto-configured RxJava-based application
> ---------------------------------------------------------------
>
>                 Key: CAMEL-11615
>                 URL: https://issues.apache.org/jira/browse/CAMEL-11615
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-reactive-streams
>    Affects Versions: 2.19.1
>         Environment: OS: OSX 10.11.6
> JDK: Oracle 1.8.0_141
> MVN: 3.5.0
>            Reporter: Qaiser Abbasi
>             Fix For: 2.20.0, 2.19.3
>
>
> In https://github.com/qabbasi/reactive-camel-demo I'm using the camel-reactive-streams-starter
project to create a application based on RxJava2. Currently I'm getting a NPE during runtime.
> I also tried to test the sample route inside https://github.com/apache/camel/tree/master/examples/camel-example-reactive-streams,
but unfortunately this also results in the same exception:
> java.lang.NullPointerException: null
>         at org.apache.camel.component.reactive.streams.engine.CamelSubscription.checkAndFlush(CamelSubscription.java:123)
~[camel-reactive-streams-2.19.1.jar:2.19.1]
>         at org.apache.camel.component.reactive.streams.engine.CamelSubscription.publish(CamelSubscription.java:247)
~[camel-reactive-streams-2.19.1.jar:2.19.1]
>         at org.apache.camel.component.reactive.streams.engine.CamelPublisher.publish(CamelPublisher.java:100)
~[camel-reactive-streams-2.19.1.jar:2.19.1]
>         at org.apache.camel.component.reactive.streams.engine.DefaultCamelReactiveStreamsService.sendCamelExchange(DefaultCamelReactiveStreamsService.java:123)
~[camel-reactive-streams-2.19.1.jar:2.19.1]
>         at org.apache.camel.component.reactive.streams.ReactiveStreamsProducer.process(ReactiveStreamsProducer.java:44)
~[camel-reactive-streams-2.19.1.jar:2.19.1]
>         at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:145) ~[camel-core-2.19.1.jar:2.19.1]
>         at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
~[camel-core-2.19.1.jar:2.19.1]
>         at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:541)
~[camel-core-2.19.1.jar:2.19.1]
>         at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
[camel-core-2.19.1.jar:2.19.1]
>         at org.apache.camel.processor.Pipeline.process(Pipeline.java:120) ~[camel-core-2.19.1.jar:2.19.1]
>         at org.apache.camel.processor.Pipeline.process(Pipeline.java:83) ~[camel-core-2.19.1.jar:2.19.1]
>         at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
[camel-core-2.19.1.jar:2.19.1]
>         at org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:197)
[camel-core-2.19.1.jar:2.19.1]
>         at org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:79)
[camel-core-2.19.1.jar:2.19.1]
>         at java.util.TimerThread.mainLoop(Timer.java:555) [na:1.8.0_141]
>         at java.util.TimerThread.run(Timer.java:505) [na:1.8.0_141]



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message