You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org> on 2006/12/19 11:55:21 UTC

[jira] Resolved: (QPID-21) Add JMS Message Selector Capability

     [ http://issues.apache.org/jira/browse/QPID-21?page=all ]

Martin Ritchie resolved QPID-21.
--------------------------------

    Resolution: Fixed

Resolved utilising the javacc SelectorParser..jj from the Apache ActiveMQ project.

Selectors are enabled by default but any of the available DeliveryManagers can be enabled by setting 

-Ddeliverymanager=
SynchronizedDeliveryManager
ConcurrentDeliveryManager
ConcurrentSelectorDeliveryManager (Default)

Completed: At revision: 488624  

Performance testing of the broker is still required to determine any speed differentials between the DeliveryManagers. See QPID-48

> Add JMS Message Selector Capability
> -----------------------------------
>
>                 Key: QPID-21
>                 URL: http://issues.apache.org/jira/browse/QPID-21
>             Project: Qpid
>          Issue Type: New Feature
>          Components: Java Broker, Java Client
>            Reporter: Marnie McCormack
>         Assigned To: Martin Ritchie
>             Fix For: M2
>
>
> Raised this JIRA to document a known gap (required for JMS compliance) and in response to an end user request. This task may have implications for the AMQP protocol and some investigation is required on this point before completing implementation work.
> Info below quoted from JMS Specification, section 3.8 (see specification for full details of JMS selector syntax & refs used below):
> A JMS message selector allows a client to specify, by message header, the messages it's interested in. Only messages whose headers and properties match the selector are delivered. The semantics of not delivered differ a bit depending on the MessageConsumer being used. See Section 5.8,"QueueReceiver," and Section 6.11, "TopicSubscriber," for more details.
> Message selectors cannot reference message body values. A message selector matches a message if the selector evaluates to true when
> the message's header field and property values are substituted for their corresponding identifiers in the selector.
> This additional information from the SUN JMS guide:
> A message selector is a String that contains an expression. The syntax of the expression is based on a subset of the SQL92 conditional expression syntax. The message selector in the example selects any message that has a NewsType property that is set to the value 'Sports' or 'Opinion': 
> NewsType = 'Sports' OR NewsType = 'Opinion' 
> The createConsumer and createDurableSubscriber methods allow you to specify a message selector as an argument when you create a message consumer. 
> The message consumer then receives only messages whose headers and properties match the selector. (See Message Headers, and Message Properties.) A message selector cannot select messages on the basis of the content of the message body. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira