[ 
https://issues.apache.org/jira/browse/ARTEMIS-4657?focusedWorklogId=910163&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-910163
 ]

ASF GitHub Bot logged work on ARTEMIS-4657:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 15/Mar/24 18:18
            Start Date: 15/Mar/24 18:18
    Worklog Time Spent: 10m 
      Work Description: tabish121 commented on code in PR #4833:
URL: https://github.com/apache/activemq-artemis/pull/4833#discussion_r1526667612


##########
artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessageConverter.java:
##########
@@ -590,9 +591,11 @@ private static ActiveMQMessage 
toAMQMessage(MessageReference reference,
       }
       amqMsg.setCommandId(commandId);
 
-      final SimpleString corrId = getObjectProperty(coreMessage, 
SimpleString.class, OpenWireConstants.JMS_CORRELATION_ID_PROPERTY);
-      if (corrId != null) {
-         amqMsg.setCorrelationId(corrId.toString());
+      final Object correlationID = coreMessage.getCorrelationID();
+      if (correlationID instanceof String || correlationID instanceof 
SimpleString) {
+         amqMsg.setCorrelationId(correlationID.toString());
+      } else if (correlationID instanceof byte[]) {
+         amqMsg.setCorrelationId(new String((byte[])correlationID, 
StandardCharsets.UTF_8));

Review Comment:
   You could send bytes for a normal two byte encoding where the second byte 
violates the prefix value of the encoding rules.  The UTF8 spec uses upper bits 
of the bytes to stretch out the characters encodings across subsequent bytes, 
looking into the proton-j read UTF8 reading code in ReadableBuffer would likely 
shed a bit of light on how to corrupt a trailing encoded byte.





Issue Time Tracking
-------------------

    Worklog Id:     (was: 910163)
    Time Spent: 4h 20m  (was: 4h 10m)

> Support correlation ID compatibility between JMS clients
> --------------------------------------------------------
>
>                 Key: ARTEMIS-4657
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4657
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: Justin Bertram
>            Assignee: Justin Bertram
>            Priority: Major
>          Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> Currently there are some use-cases with both {{String}} and {{byte[]}} values 
> of JMS correlation ID that don't work between Core, OpenWire, and AMQP. We 
> should support as many as possible.



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

Reply via email to