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