Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Paho extension native support for Websocket Connections #1109

Closed
ortwinschneider opened this issue Apr 20, 2020 · 3 comments · Fixed by #1114
Closed

Paho extension native support for Websocket Connections #1109

ortwinschneider opened this issue Apr 20, 2020 · 3 comments · Fixed by #1114
Assignees

Comments

@ortwinschneider
Copy link

Try to use ws connection with camel-quarkus-paho but it does not work native compiled. (Works in JVM mode...)

Here is the route:
fromF("timer:lightSensorHeartbeat?period=%s", lightSensor.getFrequency())
.process(createLightPayload)
.toF("paho:%s?brokerUrl=%s://%s:%s",mqtt_light_topic,mqtt_protocol,mqtt_host,mqtt_port);

where brokerUrl is ws://myBrokerHost:80

Used an s2i build with ubi-quarkus-native-s2i:19.3.1-java11 builder image in OpenShift 4.3.

Does the WebSocketNetworkModuleFactory needs to be registered for reflection??
Thanks for any help.

Failed to start application: java.util.ServiceConfigurationError: org.eclipse.paho.client.mqttv3.spi.NetworkModuleFactory: Provider org.eclipse.paho.client.mqttv3.internal.websocket.WebSocketNetworkModuleFactory not found
at java.util.ServiceLoader.fail(ServiceLoader.java:588)
at java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1211)
at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1220)
at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264)
at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299)
at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384)
at org.eclipse.paho.client.mqttv3.internal.NetworkModuleService.validateURI(NetworkModuleService.java:66)
at org.eclipse.paho.client.mqttv3.MqttAsyncClient.(MqttAsyncClient.java:454)
at org.eclipse.paho.client.mqttv3.MqttAsyncClient.(MqttAsyncClient.java:320)
at org.eclipse.paho.client.mqttv3.MqttAsyncClient.(MqttAsyncClient.java:315)
at org.eclipse.paho.client.mqttv3.MqttClient.(MqttClient.java:227)
at org.apache.camel.component.paho.PahoProducer.doStart(PahoProducer.java:82)
at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:121)
at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:70)
at org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.start(AsyncProcessorConverterHelper.java:107)
at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:70)
at org.apache.camel.impl.engine.AbstractCamelContext.internalAddService(AbstractCamelContext.java:1455)
at org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1391)
at org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:240)
at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:121)
at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:70)
at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:87)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.doStart(RedeliveryErrorHandler.java:1454)
at org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:60)
at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:70)
at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:87)
at org.apache.camel.processor.channel.DefaultChannel.doStart(DefaultChannel.java:144)
at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:121)
at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:70)
at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:73)
at org.apache.camel.processor.Pipeline.doStart(Pipeline.java:154)
at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:121)
at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:70)
at org.apache.camel.support.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:78)
at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:121)
at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:70)
at org.apache.camel.impl.engine.BaseRouteService.startChildService(BaseRouteService.java:339)
at org.apache.camel.impl.engine.BaseRouteService.doWarmUp(BaseRouteService.java:189)
at org.apache.camel.impl.engine.BaseRouteService.warmUp(BaseRouteService.java:131)
at org.apache.camel.impl.engine.AbstractCamelContext.doWarmUpRoutes(AbstractCamelContext.java:3246)
at org.apache.camel.impl.engine.AbstractCamelContext.safelyStartRouteServices(AbstractCamelContext.java:3139)
at org.apache.camel.impl.engine.AbstractCamelContext.doStartOrResumeRoutes(AbstractCamelContext.java:2925)
at org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2725)
at org.apache.camel.impl.engine.AbstractCamelContext.lambda$doStart$2(AbstractCamelContext.java:2527)
at org.apache.camel.impl.engine.AbstractCamelContext.doWithDefinedClassLoader(AbstractCamelContext.java:2544)
at org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2525)
at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:121)
at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2421)
at org.apache.camel.quarkus.core.CamelMain.doStart(CamelMain.java:50)
at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:121)
at org.apache.camel.quarkus.core.CamelMainRecorder.start(CamelMainRecorder.java:97)
at io.quarkus.deployment.steps.Main$start27.deploy_0(Main$start27.zig:97)
at io.quarkus.deployment.steps.Main$start27.deploy(Main$start27.zig:36)
at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:165)
at io.quarkus.runtime.Application.start(Application.java:90)
at io.quarkus.runtime.Application.run(Application.java:228)
at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:41)

@lburgazzoli
Copy link
Contributor

@ortwinschneider
Copy link
Author

Ok, I see. Thanks Luca!
Do you consider to add the WebSocketNetworkModuleFactory?? That would be great!
It would really simplify cross cluster communication in terms of configuration...

@lburgazzoli
Copy link
Contributor

I will have a look

@lburgazzoli lburgazzoli self-assigned this Apr 21, 2020
lburgazzoli added a commit to lburgazzoli/apache-camel-quarkus that referenced this issue Apr 21, 2020
lburgazzoli added a commit to lburgazzoli/apache-camel-quarkus that referenced this issue Apr 21, 2020
jamesnetherton pushed a commit to jamesnetherton/camel-quarkus that referenced this issue Apr 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants