Hi, I tried to setup the mqttjs library and run it in a browser. Unfortunately, it tries to connect over websocket and artemis cannot recognize the subprotocol
The source is here: http://pastebin.com/Jgeijbz9 [Thread-10 (activemq-netty-threads-2076099910)] [DEBUG] io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker - [id: 0x8958b0d5, /127.0.0.1:60138 => /127.0.0.1:1883] WebSocket version V13 server handshake [Thread-10 (activemq-netty-threads-2076099910)] [DEBUG] io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker - WebSocket version 13 server handshake key: pJTCBulMMJvyCoIpj2wEPg==, response: 6vRlkIXEqz7ihckJ2TFuB6V9uhY= [Thread-10 (activemq-netty-threads-2076099910)] [DEBUG] io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker - Requested subprotocol(s) not supported: mqttv3.1 In the latest master the issue with the client disconnecting is still there, but the error message is slightly different. In 1.2 it used to work [Thread-3 (activemq-netty-threads-2076099910)] [DEBUG] io.netty.util.internal.JavassistTypeParameterMatcherGenerator - Generated: io.netty.util.internal.__matchers__.io.netty.handler.codec.mqtt.MqttMessageMatcher [Thread-3 (activemq-netty-threads-2076099910)] [DEBUG] org.apache.activemq.artemis.core.protocol.mqtt - SESSION CREATED: d2cd94e9-3d23-4a85-bb53-53528cd9fcb1 [Thread-3 (activemq-netty-threads-2076099910)] [DEBUG] org.apache.activemq.artemis.core.protocol.mqtt - Bad Message Disconnecting Client Thank you Regards Luca 2016-05-27 13:25 GMT+02:00 Luca Capra <luca.ca...@gmail.com>: > Hi Martyn, > I will bundle the js all in a page for testing. > > I think the js library will try to interact with "mqtt over websockets" > from the browser. > (See just one line above here, > https://github.com/mqttjs/MQTT.js#contributing) > > Is it supposed to work in Artemis? (.. Nice feature btw!) > > I can either provide you the client wrapped in docker or vagrant vm if it > works for you. > > Thanks > Luca > > > 2016-05-27 11:56 GMT+02:00 Martyn Taylor <mtay...@redhat.com>: > >> Hi Luca, >> >> I had a play around with the JS you supplied but didn't get it working. >> Any chance you could browsify the test so I can run it without having a >> NodeJS environment set up, (A bash script would do if that's possible). I >> just need to see the issue in the broker. >> >> Thanks >> >> On Thu, May 26, 2016 at 10:18 AM, Luca Capra <luca.ca...@gmail.com> >> wrote: >> >> > Ok, I will double check on the client side. >> > >> > >> > If you have the time, here the test case >> > >> > The nodejs client code >> > https://gist.github.com/muka/b6374610618978948f39d83e5248ff7e >> > >> > The broker implementation (raptor-broker) is here (branch artemis) >> > >> > https://github.com/muka/raptor/tree/artemis >> > >> > To run it should just require to mvn install and run the mainClass. It >> > requires artemis modules of 1.3-SNAPSHOT in the local repository.. I'm >> > pretty sure you have them already :) >> > >> > It tries to load configurations (avail in repository ./config) from >> > /etc/raptor or from system property -DconfigDir=<path> >> > >> > Thank you for the precious help! >> > >> > Regards >> > Luca >> > >> > >> > 2016-05-26 10:42 GMT+02:00 Martyn Taylor <mtay...@redhat.com>: >> > >> > > Hi Luca, >> > > >> > > Only 3.1.1 is supported in Artemis. We've not tested against older >> > > versions. Could you ensure you are setting the version properly in >> your >> > > client. >> > > >> > > Error processing control packet usually means the client is doing >> > something >> > > wrong. If you send me your test case / reproducer, I will take a >> look. >> > > >> > > Thanks >> > > Martyn >> > > >> > > On Thu, May 26, 2016 at 9:06 AM, Luca Capra <luca.ca...@gmail.com> >> > wrote: >> > > >> > > > Hi Martyn, >> > > > thank you for your feedback! >> > > > >> > > > I had in fact two different acceptor on my broker.xml. I'm now using >> > just >> > > > one now. I've also moved to latest master 1.3-SNAPSHOT from git >> > > > >> > > > I noticed I get this exception now on connection via mqtt >> > > > >> > > > WARN: Error processing Control Packet, Disconnecting Client2 >> > > > >> > > > From the debugger I can see it is an ArrayOutOfBoundException which >> > > happens >> > > > somewhere around ctx.flush() in MqttProtocolHandler.sendConnack >> > > > >> > > > The client is mqttjs a nodejs based module implementing 3 -> 3.1.1 >> mqtt >> > > > version >> > > > >> > > > I'm using a custom SecurityManager, but should not be at the cause >> of >> > > such >> > > > issue >> > > > >> > > > Need to investigate better >> > > > >> > > > Best >> > > > Luca >> > > > >> > > > 2016-05-25 21:40 GMT+02:00 Martyn Taylor <mtay...@redhat.com>: >> > > > >> > > > > Hi Luca, >> > > > > >> > > > > You don't need any specific configuration to do this. You can >> just >> > set >> > > > up >> > > > > a MQTT Client and a STOMP client and start sending/receiving from >> the >> > > > same >> > > > > address. >> > > > > >> > > > > There are a couple of issues with Artemis versions <=1.2.0. I've >> > fixed >> > > > > these issues on master and will be doing a 1.3.0 release very >> soon, >> > it >> > > > > should be available in the next week or so, your best bet is to >> wait >> > > for >> > > > > this. >> > > > > >> > > > > I've also added a simple test to that shows this working. See: >> > > > > >> > > > > >> > > > >> > > >> > >> https://github.com/apache/activemq-artemis/pull/543/commits/62d284d7765218ced2d0f441cf26ffaaaf3c26f2 >> > > > > >> > > > > Thanks >> > > > > Martyn >> > > > > >> > > > > >> > > > > On Wed, May 25, 2016 at 3:58 PM, Luca Capra <luca.ca...@gmail.com >> > >> > > > wrote: >> > > > > >> > > > > > Hi all, >> > > > > > on a project I'm working on I've switched from Apollo to >> Artemis. >> > > > > > >> > > > > > I'm running Artemis as an embed server and would like to have >> > > > > > inter-protocol communication between stomp and mqtt. >> > > > > > >> > > > > > What I'm missing is if this can be done from configuration or >> > > creating >> > > > an >> > > > > > mqtt and stomp client each one to deliver messages the other >> one. >> > > > > > >> > > > > > Thank you >> > > > > > Luca >> > > > > > >> > > > > >> > > > >> > > >> > >> > >