[jira] [Commented] (ARTEMIS-4264) MQTT v5 request-response with correlation ID

2023-05-02 Thread Daniel Martin (Jira)


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

Daniel Martin commented on ARTEMIS-4264:


{color:#172b4d}Thanks for looking into it. No particularly strong feelings 
here. I'd just choose a certain character encoding, say UTF-8, and call 
{{getBytes(charset)}} / {{new String(bytes, charset)}} to do the 
conversion.{color}

> MQTT v5 request-response with correlation ID
> 
>
> Key: ARTEMIS-4264
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4264
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Daniel Martin
>Priority: Major
>
> When sending messages from a JMS producer (ActiveMQ) to a MQTT consumer 
> (HiveMQ), using `setJMSReplyTo()` and `setJMSCorrelationID()` on the sending 
> side and `getResponseTopic()` and `getCorrelationData()` on the receiving 
> side, this information is not received by MQTT.
> It seem to me that both protocols are pretty translatable into one another, 
> having pretty much the same concepts:
>  * 
> [https://activemq.apache.org/how-should-i-implement-request-response-with-jms]
>  * 
> [https://hivemq.com/blog/mqtt5-essentials-part9-request-response-pattern|https://www.hivemq.com/blog/mqtt5-essentials-part9-request-response-pattern]
> I'd additionally ask: is MQTT version 5 truly supported? To what extent?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4264) MQTT v5 request-response with correlation ID

2023-04-28 Thread Timothy A. Bish (Jira)


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

Timothy A. Bish commented on ARTEMIS-4264:
--

You can look at Qpid JMS which handles some scenarios like this where the AMQP 
spec allows for several types including Binary and String along with UUID and 
ulong.  Since I don't think MQTT defines what the correlation bytes mean you 
likely would just either carry them along untouched or encode them as a hex 
string depending on how core protocol carries the correlation ID value (you 
need some way to round trip them depending on how core manages them). 

> MQTT v5 request-response with correlation ID
> 
>
> Key: ARTEMIS-4264
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4264
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Daniel Martin
>Priority: Major
>
> When sending messages from a JMS producer (ActiveMQ) to a MQTT consumer 
> (HiveMQ), using `setJMSReplyTo()` and `setJMSCorrelationID()` on the sending 
> side and `getResponseTopic()` and `getCorrelationData()` on the receiving 
> side, this information is not received by MQTT.
> It seem to me that both protocols are pretty translatable into one another, 
> having pretty much the same concepts:
>  * 
> [https://activemq.apache.org/how-should-i-implement-request-response-with-jms]
>  * 
> [https://hivemq.com/blog/mqtt5-essentials-part9-request-response-pattern|https://www.hivemq.com/blog/mqtt5-essentials-part9-request-response-pattern]
> I'd additionally ask: is MQTT version 5 truly supported? To what extent?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4264) MQTT v5 request-response with correlation ID

2023-04-28 Thread Justin Bertram (Jira)


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

Justin Bertram commented on ARTEMIS-4264:
-

If you have any strong feelings about how this should be handled feel free to 
sent a PR.

> MQTT v5 request-response with correlation ID
> 
>
> Key: ARTEMIS-4264
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4264
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Daniel Martin
>Priority: Major
>
> When sending messages from a JMS producer (ActiveMQ) to a MQTT consumer 
> (HiveMQ), using `setJMSReplyTo()` and `setJMSCorrelationID()` on the sending 
> side and `getResponseTopic()` and `getCorrelationData()` on the receiving 
> side, this information is not received by MQTT.
> It seem to me that both protocols are pretty translatable into one another, 
> having pretty much the same concepts:
>  * 
> [https://activemq.apache.org/how-should-i-implement-request-response-with-jms]
>  * 
> [https://hivemq.com/blog/mqtt5-essentials-part9-request-response-pattern|https://www.hivemq.com/blog/mqtt5-essentials-part9-request-response-pattern]
> I'd additionally ask: is MQTT version 5 truly supported? To what extent?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4264) MQTT v5 request-response with correlation ID

2023-04-28 Thread Justin Bertram (Jira)


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

Justin Bertram commented on ARTEMIS-4264:
-

MQTT 5, as such, is fully supported. 

However, as of yet there's no plumbing to map JMS correlationID and replyTo to 
the response-topic and correlation-data (respectively) of an MQTT {{PUBLISH}} 
packet. To be clear, this kind of interoperability isn't part of the MQTT 5 
specification.

There is certainly much overlap between JMS and MQTT, but there's also some 
potentially problematic nuances. For example, in MQTT the correlation-data is 
just a {{byte[]}}, but in JMS it can be set as a {{String}} or as a {{byte[]}}.

I'll take a look at how this is handled for other protocols and even within JMS 
itself (i.e. setting correlationID as a {{byte[]}} and getting it as a 
{{String}}).

> MQTT v5 request-response with correlation ID
> 
>
> Key: ARTEMIS-4264
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4264
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Daniel Martin
>Priority: Major
>
> When sending messages from a JMS producer (ActiveMQ) to a MQTT consumer 
> (HiveMQ), using `setJMSReplyTo()` and `setJMSCorrelationID()` on the sending 
> side and `getResponseTopic()` and `getCorrelationData()` on the receiving 
> side, this information is not received by MQTT.
> It seem to me that both protocols are pretty translatable into one another, 
> having pretty much the same concepts:
>  * 
> [https://activemq.apache.org/how-should-i-implement-request-response-with-jms]
>  * 
> [https://hivemq.com/blog/mqtt5-essentials-part9-request-response-pattern|https://www.hivemq.com/blog/mqtt5-essentials-part9-request-response-pattern]
> I'd additionally ask: is MQTT version 5 truly supported? To what extent?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)