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:54:00 UTC
[jira] [Comment Edited] (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 edited comment on ARTEMIS-2455 at 9/6/19 9:53 AM:
--------------------------------------------------------------------
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?
was (Author: riccardo.modanese@eurotech.com):
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)