Appendix D. Message Selectors
Message selectors allow a JMS consumer
to be more selective about the messages it receives from a particular
topic or queue. Message selectors use Message
properties and headers as criteria in conditional expressions. These
conditional expressions use boolean logic to declare which messages
should be delivered to a client.
The message selectors are based on a subset of the SQL-92 conditional
expression syntax that is used in the WHERE
clauses of SQL statements. This section is a detailed exploration of
the message selector syntax.
To illustrate how message selectors are applied, we will consider a
hypothetical message that contains three application properties:
Age, Weight, and
LName. Age is an
int, Weight is a
double, and LName is a
String property. The values of these properties
depend on the message. The message selector is used to obtain only
those messages with property values of interest to the consumer.
Identifiers
An identifier is the part of the expression that is being compared.
For example, the identifiers in the following expression are
Age, Weight, and
LName:
Age< 30 ANDWeight>= 100.00 ANDLName= 'Smith'
Identifiers can be any application-defined, JMS-defined, or provider-specific property, or one of several JMS headers. Identifiers must match the property or JMS header name exactly; identifiers are case sensitive. Identifiers have the same naming restrictions as property names (see Appendix C).
The JMS headers that can be used as identifiers ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access