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