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

Reply via email to