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/>* * * * *