JMS message listener invoker failed, Cause: Identifier contains invalid JMS identifier character '-': 'x-request-id'
Section 3.5.1 of the JMS 2 specification states this about message properties:
Property names must obey the rules for a message selector identifier. See Section 3.8 “Message selection” for more information.
In regards to identifiers, section 3.8.1.1 states, in part:
An identifier is an unlimited-length character sequence that must begin with a Java identifier start character; all following characters must be Java identifier part characters. An identifier start character is any character for which the method
Character.isJavaIdentifierStart
returnstrue
. This includes '_' and '$'. An identifier part character is any character for which the methodCharacter.isJavaIdentifierPart
returnstrue
.
If you pass the character -
into either Character.isJavaIdentifierStart
or Character.isJavaIdentifierPart
the return value is false
. In other words, the -
character in the name of a message property violates the JMS specification and therefore will cause an error.