You would have to use an MQTT specific api to access the MQTT protocol.   A
java API to MQTT can be found at: http://mqtt-client.fusesource.org/

These is no JMS API to the MQTT protocol AFAIK.

On Thu, May 24, 2012 at 6:29 AM, Dmytro Pishchukhin <
dmytro.pishchuk...@gmail.com> wrote:

> Hello,
>
> I'm trying to use MQTT protocol between ActiveMQ broker and JMS client.
>
> Broker is started with MQTT transport: <transportConnector name="mqtt"
> uri="mqtt://0.0.0.0:61616"/>
> One queue and one topic are configured.
>
> 1. For testing I use HermesJMS tool. I've configured the tool with
> MQTT jars (from /apache-activemq-5.6.0/lib/optional folder) and
> brockerURL: mqtt://localhost:61616
> When I try to open connection (just open an queue tab-panel) I receive
> such exception:
>
> javax.jms.JMSException: java.io.EOFException
>        at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
>        at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1362)
>        at
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1466)
>        at
> org.apache.activemq.ActiveMQConnection.setClientID(ActiveMQConnection.java:396)
>        at
> hermes.impl.jms.ConnectionManagerSupport.createConnection(ConnectionManagerSupport.java:174)
>        ...
>        at hermes.browser.tasks.ThreadPool.run(ThreadPool.java:170)
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: java.io.EOFException
>        at java.io.DataInputStream.readByte(DataInputStream.java:250)
>        at
> org.apache.activemq.transport.mqtt.MQTTWireFormat.unmarshal(MQTTWireFormat.java:80)
>        at
> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:229)
>        at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:221)
>        at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)
>        ... 1 more
>
> Broker logs:
> WARN | Transport Connection to: tcp://127.0.0.1:2442 failed:
> org.apache.activemq.transport.InactivityIOException: Channel was
> inactive for too (>30000) long: tcp://127.0.0.1:2442
>
> 2. I've tried to test with my small test client based on ActiveMQ
> without any success.
> 2.1. with mqtt://localhost:61616
> Logs:
> 2012-05-24 12:22:03.029 [FINE]
> org.apache.activemq.transport.mqtt.MQTTProtocolConverter
> onActiveMQCommand
> Do not know how to process ActiveMQ Command ConnectionInfo {commandId
> = 1, responseRequired = true, connectionId =
> ID:BK5N00025814-8614-1337854948615-2:1, clientId =
> ID:BK5N00025814-8614-1337854948615-1:1, clientIp = null, userName =
> null, password = *****, brokerPath = null, brokerMasterConnector =
> false, manageable = true, clientMaster = true, faultTolerant = false,
> failoverReconnect = false}
>
> 2.2. with failover://(mqtt://localhost:61616) it always tries to
> reconnect after approx. 30 seconds.
>
> 3. When I tried to send messages from MQTT client
> (mqtt-client-1.2-uber.jar) - everything was fine.
>
> Question:
> Are there any tricks in configuration of MQTT protocol for ActiveMQ
> JMS clients? I did find any information on the documentation page.
>
> Thanks in advance.
>
> Best regards,
> Dmytro Pishchukhin
>



-- 

**

*Hiram Chirino*

*Software Fellow | FuseSource Corp.*

*chir...@fusesource.com | fusesource.com*

*skype: hiramchirino | twitter: @hiramchirino<http://twitter.com/hiramchirino>
*

*blog: Hiram Chirino's Bit Mojo <http://hiramchirino.com/blog/>*

*
*

*
*

Reply via email to