[ 
https://issues.apache.org/jira/browse/QPID-7607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15801590#comment-15801590
 ] 

Robbie Gemmell commented on QPID-7607:
--------------------------------------

Is this only during protocol conversion? Which types of Management responses 
are you thinking of? From what I recall, the AMQP Management messages were at 
one  at least not going to be compatible with the JMS MapMessage due to use of 
lists in the content, but I admit I don't have much clue on the current state 
of those bits. If you are going to deep-inspect every map that wont matter 
either way though.

There isn't a way to identify it is the JMS client, other than [ab]using the 
connection properties, but as Rob says the x-opt is there precisely so that 
peers that dont understand it ignore it, so you could add it regardless and 
just take the overhead.

In some ways its going to be more annoying for a client to receive some 
MapMessage and some ObjectMessage in a given stream sent by another client 
depending on the content, with Maps from ObjectMessages in many ways being 
nicer to use than MapMessage is. That said, I guess if the other side is a JMS 
client thats less likely (depending on level of spec-breaking its doing with 
its MapMessage), and also JMS2 does let you retrieve a Map from either a 
MapMessage or an ObjectMessage without knowing what type the message is, so in 
that scenario the user wouldnt even notice any flip- flop, only those where 
they were doing instanceof checks and handling explicitly (which to be fair, 
would be all existing JMS 1.1 style usage).

> AMQP 1.0 conversion layer to use 'Map' x-opt-jms-msg-type annotation when 
> message is representable as a JMS Map Message and recipent known to be the 
> Qpid JMS Client 
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-7607
>                 URL: https://issues.apache.org/jira/browse/QPID-7607
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker
>            Reporter: Keith Wall
>            Priority: Minor
>             Fix For: qpid-java-7.0
>
>
> If the AMQP 1.0 converts a message for the Qpid JMS Client and the body is a 
> Map whose content conforms to the JMSMapMessage restrictions (string keys, 
> restricted domain of values etc), the conversion layer should set the 
> “x-opt-jms-msg-type”  annotation with a Map value so that the client, on 
> receipt, will produce a JMS Map Message for the application.
> For map messages converted from other protocols to AMQP 1.0, this will ensure 
> fidelity (currently the user receives an ObjectMessage - see test 
> {{org.apache.qpid.jms.provider.amqp.message.AmqpCodecTest#testCreateAmqpObjectMessageFromAmqpValueWithMap}}).
> For management responses, this will ensure that many management responses can 
> be handled simply.  
> If the map does not conform to the JMS restrictions or the client is not a 
> Qpid JMS Client, the annotation must not be applied.
> Q:  how should the broker know the client understands the 
> “x-opt-jms-msg-type” annotation? 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to