You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Lorenz Quack (JIRA)" <ji...@apache.org> on 2017/11/08 14:52:00 UTC
[jira] [Assigned] (QPID-7897) [Java 0-8...0-9-1 Client]
Message#getJMSCorrelationIDAsBytes() erroneously first converts to string
before retreiving bytes
[ https://issues.apache.org/jira/browse/QPID-7897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lorenz Quack reassigned QPID-7897:
----------------------------------
Assignee: Lorenz Quack
> [Java 0-8...0-9-1 Client] Message#getJMSCorrelationIDAsBytes() erroneously first converts to string before retreiving bytes
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-7897
> URL: https://issues.apache.org/jira/browse/QPID-7897
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Reporter: Lorenz Quack
> Assignee: Lorenz Quack
> Fix For: qpid-java-client-0-x-6.3.0
>
>
> If the correlationId of a message does not contain valid UTF_8 (e.g., set via {{javax.jms.Message#setJMSCorrelationIDAsBytes}}) then {{javax.jms.Message#getJMSCorrelationIDAsBytes}} does not return the correct value.
> Some relevant code snippets:{{AMQMessageDelegate_0_8#getJMSCorrelationIDAsBytes}} is implemented as follows:
> {code:title=AMQMessageDelegate_0_8.java}public byte[] getJMSCorrelationIDAsBytes() throws JMSException
> {
> return getContentHeaderProperties().getCorrelationIdAsString().getBytes();
> }{code}
> {code:title=BasicContentHeaderProperties}public String getCorrelationIdAsString()
> {
> return (_correlationId == null) ? null : _correlationId.toString();
> }{code}
> {code:title=AMQShortString}public String toString()
> {
> if (_asString == null)
> {
> _asString = new String(_data, _offset, _length, StandardCharsets.UTF_8);
> }
> return _asString;
> }{code}
> If {{_data}} does not contain valid UTF_8 the result of this call chain is incorrect.
> I do not see a reason why {{AMQMessageDelegate_0_8#getJMSCorrelationIDAsBytes}} should not return {{getContentHeaderProperties().getCorrelationId().getBytes()}} instead.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org