Details
Description
When using the Qpid JMS AMQP 1.0 Client with Broker-J, if the consumer specifies a JMS message selectors including a JMSMessageID or JMSCorrelationID predicate, the selector can fail to find the target message in some circumstances. This occurs when the message producer is configured to use one of the following jms.messageIDPolicy.messageIDType modes: UUID. UUID_STRING, PREFIXED_UUID_STRING. In the default mode, BUILTIN the problem does not manifest.
The issue is the Broker-J JMS selector implementation does not understand the AMQP type encoded forms specified by 3.2.1.1 of the Advanced Message Queuing Protocol (AMQP) JMS Mapping Version 1.0 [WD9].
The problem also manifests when the Broker's message conversion feature is in use. For instance, a message produced by a AMQP 0-10 producer cannot be selected by an consumer using a Qpid JMS Client 1.0 using a JMSMessageID or JMSCorrelationID predicate. This was originally highlighted by the following user list post: