I saw the page of http://camel.apache.org/mqtt.html said mqtt component 
supports to use ssl connection. but didn't mention how to enable it.


I tried to change the protocol to ssl, and also set the system properties:
    
javax.net.ssl.keyStore/javax.net.ssl.keyStorePassword/javax.net.ssl.TrustStore‍‍‍


Besides, I also tried to set a customized SSLContext to MQTTConfiguration . 
both of them don't work.‍


The error looks like:
Exception in thread "main" org.apache.camel.FailedToCreateRouteException: 
Failed to create route route1: 
Route(route1)[[From[mqtt:bar?host=ssl://localhost:61617]] ->... because of 
Failed to resolve endpoint: mqtt://bar?host=ssl%3A%2F%2Flocalhost%3A61617 due 
to: Could not connect. Received unexpected command: 0
        at 
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:180)
        at 
org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:780)
        at 
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:2068)
        at 
org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1816)
        at 
org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1683)
        at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
        at 
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1651)
        at 
org.apache.activemq.book.ch3.TestCamelMQTT.main(TestCamelMQTT.java:70)
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve 
endpoint: mqtt://bar?host=ssl%3A%2F%2Flocalhost%3A61617 due to: Could not 
connect. Received unexpected command: 0
        at 
org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:534)
        at 
org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:71)
        at 
org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:190)
        at 
org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:106)
        at 
org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:112)
        at 
org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
        at 
org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
        at 
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:888)
        at 
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:175)
        ... 7 more
Caused by: java.io.IOException: Could not connect. Received unexpected command: 0
        at 
org.fusesource.mqtt.client.CallbackConnection$LoginHandler$1.onTransportCommand(CallbackConnection.java:338)
        at 
org.fusesource.hawtdispatch.transport.TcpTransport.drainInbound(TcpTransport.java:713)
        at 
org.fusesource.hawtdispatch.transport.SslTransport.handshake(SslTransport.java:452)
        at 
org.fusesource.hawtdispatch.transport.SslTransport.drainInbound(SslTransport.java:274)
        at 
org.fusesource.hawtdispatch.transport.TcpTransport$6.run(TcpTransport.java:592)
        at 
org.fusesource.hawtdispatch.internal.NioDispatchSource$3.run(NioDispatchSource.java:209)
        at 
org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
        at 
org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)

‍



I tried the way on a plain Java App by using ActiveMQSslConnectionFactory to 
connect to it, it works to read message from/write message to Activemq.


I used Activemq 5.10 with ssl transport enabled as Server side. ‍


I appreciate if anybody can give me some hints.


Thanks in advance.

Reply via email to