Identifiers
An identifier refers to either a standard JMS header field name
or a custom message property name. Any JMS header field name can be
used as an identifier, except for JMSDestination, JMSExpiration, JMSRedelivered, and JMSReplyTo. JMSDestination and JMSReplyTo are Destination values, and message selector
operators support only numeric, Boolean, or string values. The time at
which message selectors are applied to messages is not specified in
the JMS specification, so using the value of JMSExpiration wouldn’t provide a consistent,
well-defined result. Using JMSRedelivered in a selector could result in
unexpected results. If, for example, a selector checks for JMSRedelivered being true, the first
delivery attempt by a provider will fail the selector since the
redelivered flag should be false, but the provider could then
immediately redeliver the message and pass the selector, making the
redelivered part of the predicate ineffective.
Identifier names are case-sensitive and follow the same general
rules as Java identifiers . They must start with a valid Java identifier start
character as determined by the java.lang.Character.isJavaIdentifierStart()
method—e.g., a letter, currency symbol, or connecting punctuation
character like “_”—and must contain valid Java identifier characters
as determined by the Character.isJavaIdentifierPart() method. You
cannot use the following reserved words for identifiers: NULL, TRUE, FALSE, NOT, AND,
OR, BETWEEN, LIKE, IN,
IS, or ESCAPE.
The type ...
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