[
https://issues.apache.org/jira/browse/ARTEMIS-4657?focusedWorklogId=910171&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-910171
]
ASF GitHub Bot logged work on ARTEMIS-4657:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 15/Mar/24 19:14
Start Date: 15/Mar/24 19:14
Worklog Time Spent: 10m
Work Description: gemmellr commented on code in PR #4833:
URL: https://github.com/apache/activemq-artemis/pull/4833#discussion_r1526725736
##########
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:
Yeah I forgot about that nugget; so instead of blowing up or sending nothing
it will just send a corrupted representation of the original bytes. Arguably
worse? :)
Per the next bit of that javadoc, you'd need to actually decode the bytes as
UTF-8 rather than just creating a String instance with them, so that the
decoder would instead blow up for garbage rather than substitute. Tim's idea
for malformed bytes is simple, but as per your link the simplest is actually
just a single byte that isnt an ASCII char or the multi-byte prefix.
Issue Time Tracking
-------------------
Worklog Id: (was: 910171)
Time Spent: 5h (was: 4h 50m)
> 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: 5h
> 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)