You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Blubb <ti...@gmx.de> on 2016/05/27 07:38:16 UTC

[Artemis] Interaction between JMS and MQTT not working

Hey,

I have tried to set up messaging between an JMS and an MQTT Endpoint, 
but queues of both protocols are somehow not received by the 
openwire/mqtt queues.

Here an excerpt out of my broker.xml:


     <connectors>
       <connector name="netty">tcp://localhost:5445</connector>
       <connector name="in-vm">vm://0</connector>
     </connectors>

     <acceptors>
         <acceptor name="default">tcp://localhost:5445</acceptor>

         <!-- MQTT Acceptor -->
         <acceptor 
name="hornetq">tcp://localhost:1883?protocols=MQTT</acceptor>
     </acceptors>


Version used: master branch

Is this a missing feature or just a missconfiguration?

BR




Re: [Artemis] Interaction between JMS and MQTT not working

Posted by Martyn Taylor <mt...@redhat.com>.
Hi BR,

You're config looks OK providing you have set the OpenWire port properly on
your JMS client (The default is 61616, but I see you're only opening
5445).  Take a look at the default out of the box config (It's created when
you run artemis create).

Also, can I ask what version you are using, this functionality is on master
only.  We'll be doing a 1.3.0 release with this functionality very soon.

You can take a look at the MQTT tests, we have a couple of tests that show
JMS -> MQTT and vica versa (using the Artemis JMS client).
https://github.com/apache/activemq-artemis/blob/master/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/mqtt/imported/MQTTTest.java#L1060

One extra thing to take into consideration is that using the Artemis JMS
client (which uses the CORE protocol) vs ActiveMQ JMS wire which uses
OpenWire, destinations are prefixed with jms.queue or jms.topic depending
on the destination type.  If you're using this client and publishing to a
topic with address "foo.bar".  You'll need to consume from the MQTT
equivilent i.e. jms/queue/foo/bar.  (Slashes are the word delimiter in
MQTT).

If this is still not working could you please provide a test case and I'll
take a look.

Thanks


On Fri, May 27, 2016 at 9:42 AM, Blubb <ti...@gmx.de> wrote:

> Thanks, I will try that
>
> what if I want to expose MQTT to a different port than e.g. JMS?
>
>
> Am 27.05.2016 um 16:31 schrieb Luca Capra:
>
>> Hello,
>> I've asked a similar question a few day ago. It should work this way
>>
>> <acceptor
>> name="hornetq">tcp://localhost:1883?protocols=MQTT,STOMP,<OTHER></
>> acceptor>
>>
>> Best
>> Luca
>>
>> 2016-05-27 9:38 GMT+02:00 Blubb <ti...@gmx.de>:
>>
>> Hey,
>>>
>>> I have tried to set up messaging between an JMS and an MQTT Endpoint, but
>>> queues of both protocols are somehow not received by the openwire/mqtt
>>> queues.
>>>
>>> Here an excerpt out of my broker.xml:
>>>
>>>
>>>      <connectors>
>>>        <connector name="netty">tcp://localhost:5445</connector>
>>>        <connector name="in-vm">vm://0</connector>
>>>      </connectors>
>>>
>>>      <acceptors>
>>>          <acceptor name="default">tcp://localhost:5445</acceptor>
>>>
>>>          <!-- MQTT Acceptor -->
>>>          <acceptor
>>> name="hornetq">tcp://localhost:1883?protocols=MQTT</acceptor>
>>>      </acceptors>
>>>
>>>
>>> Version used: master branch
>>>
>>> Is this a missing feature or just a missconfiguration?
>>>
>>> BR
>>>
>>>
>>>
>>>
>>>
>

Re: [Artemis] Interaction between JMS and MQTT not working

Posted by Blubb <ti...@gmx.de>.
Thanks, I will try that

what if I want to expose MQTT to a different port than e.g. JMS?

Am 27.05.2016 um 16:31 schrieb Luca Capra:
> Hello,
> I've asked a similar question a few day ago. It should work this way
>
> <acceptor name="hornetq">tcp://localhost:1883?protocols=MQTT,STOMP,<OTHER></
> acceptor>
>
> Best
> Luca
>
> 2016-05-27 9:38 GMT+02:00 Blubb <ti...@gmx.de>:
>
>> Hey,
>>
>> I have tried to set up messaging between an JMS and an MQTT Endpoint, but
>> queues of both protocols are somehow not received by the openwire/mqtt
>> queues.
>>
>> Here an excerpt out of my broker.xml:
>>
>>
>>      <connectors>
>>        <connector name="netty">tcp://localhost:5445</connector>
>>        <connector name="in-vm">vm://0</connector>
>>      </connectors>
>>
>>      <acceptors>
>>          <acceptor name="default">tcp://localhost:5445</acceptor>
>>
>>          <!-- MQTT Acceptor -->
>>          <acceptor
>> name="hornetq">tcp://localhost:1883?protocols=MQTT</acceptor>
>>      </acceptors>
>>
>>
>> Version used: master branch
>>
>> Is this a missing feature or just a missconfiguration?
>>
>> BR
>>
>>
>>
>>


Re: [Artemis] Interaction between JMS and MQTT not working

Posted by Luca Capra <lu...@gmail.com>.
Hello,
I've asked a similar question a few day ago. It should work this way

<acceptor name="hornetq">tcp://localhost:1883?protocols=MQTT,STOMP,<OTHER></
acceptor>

Best
Luca

2016-05-27 9:38 GMT+02:00 Blubb <ti...@gmx.de>:

> Hey,
>
> I have tried to set up messaging between an JMS and an MQTT Endpoint, but
> queues of both protocols are somehow not received by the openwire/mqtt
> queues.
>
> Here an excerpt out of my broker.xml:
>
>
>     <connectors>
>       <connector name="netty">tcp://localhost:5445</connector>
>       <connector name="in-vm">vm://0</connector>
>     </connectors>
>
>     <acceptors>
>         <acceptor name="default">tcp://localhost:5445</acceptor>
>
>         <!-- MQTT Acceptor -->
>         <acceptor
> name="hornetq">tcp://localhost:1883?protocols=MQTT</acceptor>
>     </acceptors>
>
>
> Version used: master branch
>
> Is this a missing feature or just a missconfiguration?
>
> BR
>
>
>
>