[
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]