You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Alex Rudyy (JIRA)" <ji...@apache.org> on 2011/05/27 18:47:47 UTC

[jira] [Created] (QPID-3285) AMQShortString needs only be used in a transport layer for 0.8/0.9.x AMQP protocol implementations.

AMQShortString needs only be used in a transport layer for 0.8/0.9.x AMQP protocol implementations.
---------------------------------------------------------------------------------------------------

                 Key: QPID-3285
                 URL: https://issues.apache.org/jira/browse/QPID-3285
             Project: Qpid
          Issue Type: Improvement
          Components: Java Broker, Java Broker MessageStore - DerbyStore, Java Client, Java Common
            Reporter: Alex Rudyy
            Assignee: Robbie Gemmell
            Priority: Minor


Current implementation of AMQShortString does not deal properly with unicode characters. Each character of the string is  converted into a single byte using the following transformation

(byte) (0xFF & data[i])

In result of such transformation multi-byte characters can not be passed over the wire with 0.8/0.9.x AMQP protocol implementations.

AMQP 0.10 transport layer  does not have such issue because it does not use string byte buffers from AMQShortString objects.

AMQP 1.0 specification does not declare short string type. So, current implementation of AMQShortString can not be used to implement AMQP 1.0 specification. For implementing of AMQP 1.0 specification java.lang.String class can be used.

Current broker and client implementations use AMQShortString classes everywhere, including JMS layer, message store layer etc.

Usages of AMQShortString beyond 0.8/0.9.x transport layers should be replaced with  java.lang.String class. Only  0.8/0.9.x transport layers require AMQShortString for keeping backward compatibility.



--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3285) AMQShortString needs only be used in a transport layer for 0.8/0.9.x AMQP protocol implementations.

Posted by "Rob Godfrey (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13219090#comment-13219090 ] 

Rob Godfrey commented on QPID-3285:
-----------------------------------

We should also eliminate the use of FieldTable anywhere but in the protocol handlers...
                
> AMQShortString needs only be used in a transport layer for 0.8/0.9.x AMQP protocol implementations.
> ---------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3285
>                 URL: https://issues.apache.org/jira/browse/QPID-3285
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker, Java Broker Derby Store, Java Client, Java Common
>            Reporter: Alex Rudyy
>            Priority: Minor
>
> Current implementation of AMQShortString does not deal properly with unicode characters. Each character of the string is  converted into a single byte using the following transformation
> (byte) (0xFF & data[i])
> In result of such transformation multi-byte characters can not be passed over the wire with 0.8/0.9.x AMQP protocol implementations.
> AMQP 0.10 transport layer  does not have such issue because it does not use string byte buffers from AMQShortString objects.
> AMQP 1.0 specification does not declare short string type. So, current implementation of AMQShortString can not be used to implement AMQP 1.0 specification. For implementing of AMQP 1.0 specification java.lang.String class can be used.
> Current broker and client implementations use AMQShortString classes everywhere, including JMS layer, message store layer etc.
> Usages of AMQShortString beyond 0.8/0.9.x transport layers should be replaced with  java.lang.String class. Only  0.8/0.9.x transport layers require AMQShortString for keeping backward compatibility.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Resolved] (QPID-3285) AMQShortString needs only be used in a transport layer for 0.8/0.9.x AMQP protocol implementations.

Posted by "Rob Godfrey (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Godfrey resolved QPID-3285.
-------------------------------

    Resolution: Later
    
> AMQShortString needs only be used in a transport layer for 0.8/0.9.x AMQP protocol implementations.
> ---------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3285
>                 URL: https://issues.apache.org/jira/browse/QPID-3285
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker, Java Client, Java Common
>            Reporter: Alex Rudyy
>            Priority: Minor
>              Labels: derbystore
>
> Current implementation of AMQShortString does not deal properly with unicode characters. Each character of the string is  converted into a single byte using the following transformation
> (byte) (0xFF & data[i])
> In result of such transformation multi-byte characters can not be passed over the wire with 0.8/0.9.x AMQP protocol implementations.
> AMQP 0.10 transport layer  does not have such issue because it does not use string byte buffers from AMQShortString objects.
> AMQP 1.0 specification does not declare short string type. So, current implementation of AMQShortString can not be used to implement AMQP 1.0 specification. For implementing of AMQP 1.0 specification java.lang.String class can be used.
> Current broker and client implementations use AMQShortString classes everywhere, including JMS layer, message store layer etc.
> Usages of AMQShortString beyond 0.8/0.9.x transport layers should be replaced with  java.lang.String class. Only  0.8/0.9.x transport layers require AMQShortString for keeping backward compatibility.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[jira] [Updated] (QPID-3285) AMQShortString needs only be used in a transport layer for 0.8/0.9.x AMQP protocol implementations.

Posted by "Robbie Gemmell (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robbie Gemmell updated QPID-3285:
---------------------------------

    Labels: derbystore  (was: )
    
> AMQShortString needs only be used in a transport layer for 0.8/0.9.x AMQP protocol implementations.
> ---------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3285
>                 URL: https://issues.apache.org/jira/browse/QPID-3285
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker, Java Broker Derby Store, Java Client, Java Common
>            Reporter: Alex Rudyy
>            Priority: Minor
>              Labels: derbystore
>
> Current implementation of AMQShortString does not deal properly with unicode characters. Each character of the string is  converted into a single byte using the following transformation
> (byte) (0xFF & data[i])
> In result of such transformation multi-byte characters can not be passed over the wire with 0.8/0.9.x AMQP protocol implementations.
> AMQP 0.10 transport layer  does not have such issue because it does not use string byte buffers from AMQShortString objects.
> AMQP 1.0 specification does not declare short string type. So, current implementation of AMQShortString can not be used to implement AMQP 1.0 specification. For implementing of AMQP 1.0 specification java.lang.String class can be used.
> Current broker and client implementations use AMQShortString classes everywhere, including JMS layer, message store layer etc.
> Usages of AMQShortString beyond 0.8/0.9.x transport layers should be replaced with  java.lang.String class. Only  0.8/0.9.x transport layers require AMQShortString for keeping backward compatibility.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Assigned] (QPID-3285) AMQShortString needs only be used in a transport layer for 0.8/0.9.x AMQP protocol implementations.

Posted by "Robbie Gemmell (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robbie Gemmell reassigned QPID-3285:
------------------------------------

    Assignee:     (was: Robbie Gemmell)
    
> AMQShortString needs only be used in a transport layer for 0.8/0.9.x AMQP protocol implementations.
> ---------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3285
>                 URL: https://issues.apache.org/jira/browse/QPID-3285
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker, Java Broker Derby Store, Java Client, Java Common
>            Reporter: Alex Rudyy
>            Priority: Minor
>
> Current implementation of AMQShortString does not deal properly with unicode characters. Each character of the string is  converted into a single byte using the following transformation
> (byte) (0xFF & data[i])
> In result of such transformation multi-byte characters can not be passed over the wire with 0.8/0.9.x AMQP protocol implementations.
> AMQP 0.10 transport layer  does not have such issue because it does not use string byte buffers from AMQShortString objects.
> AMQP 1.0 specification does not declare short string type. So, current implementation of AMQShortString can not be used to implement AMQP 1.0 specification. For implementing of AMQP 1.0 specification java.lang.String class can be used.
> Current broker and client implementations use AMQShortString classes everywhere, including JMS layer, message store layer etc.
> Usages of AMQShortString beyond 0.8/0.9.x transport layers should be replaced with  java.lang.String class. Only  0.8/0.9.x transport layers require AMQShortString for keeping backward compatibility.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org