You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Riccardo Modanese (Jira)" <ji...@apache.org> on 2019/09/06 09:53:00 UTC

[jira] [Commented] (ARTEMIS-2455) Unexpected MQTT path separator conversion handling

    [ https://issues.apache.org/jira/browse/ARTEMIS-2455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16924096#comment-16924096 ] 

Riccardo Modanese commented on ARTEMIS-2455:
--------------------------------------------

 

I try to recap my use case/concerns.

I know AQMP has no specific wildcards, but it's pretty common to use

| type | character |
|:----------|:---------:|
| separator | . |
| word | * |
| any word | # |

So lets assume I want to have a broker with 3 different connectors: AMQP, MQTT, CORE
 - AMQP clients "configured" to handle the "common used" AMQP syntax
 - MQTT clients with their own well known syntax

I didn't find a way to configure the broker correctly.

On my tests I wasn't able to get this example working correctly since:
 - using the "common used" AMQP syntax broken the MQTT compatibility (a dot in a topic is translated to slash)
 - using the MQTT syntax broken the desired AMQP syntax

So my desired broker behavior is having this connectors configuration:

Connector AMQP/CORE

| type | character |
|:----------|:---------:|
| separator | . |
| word | * |
| any word | # |

Connector MQTT

| type | character |
|:----------|:---------:|
| separator | / |
| word | + |
| any word | # |

How can I configure the broker to be compliant with my expected configuration?

> Unexpected MQTT path separator conversion handling
> --------------------------------------------------
>
>                 Key: ARTEMIS-2455
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2455
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: MQTT
>    Affects Versions: 2.9.0
>            Reporter: Riccardo Modanese
>            Priority: Minor
>         Attachments: MqttTopicIT.java
>
>
> Hello, I noticed an unexpected MQTT path separator conversion handling. (May be I'm missing some configuration parameter in the acceptor definition?)
> The char '.' on a MQTT topic is handled by Artemis as a topic separator instead of a "normal" topic character. So an MQTT topic like 'a.b.c.d' becames 'a/b/c/d'.
> I attach a Junit test I developed for testing different topics.
> I used Artemis 2.9.0. The acceptor configuration is:
> {{tcp://0.0.0.0:1883?tcpSendBufferSize=1048576&tcpReceiveBufferSize=1048576&protocols=MQTT&allowLinkStealing=true&useEpoll=true}}
>  
> Regards,
> Riccardo



--
This message was sent by Atlassian Jira
(v8.3.2#803003)