JMS+spring结合 在AbstractJmsListeningContainer的子类AbstractMessageListenerContainer中有一个messageSelector的属性,该属性是JMS用来过滤消息的属性,
该消息选择器基于sql92 语法
eg:如 age >10 AND name='abc' 语句则仅符全这个条件的消息才会被接收
注意这里的age name 必须是jms 消息的 消息头,属性
即 msg.setStringProperty("name","abc" )
msg.setIntProperty("age",11 )
这个消息才会被消费 ,除了自定义的属性如name age 可以用作过滤外,JMSDeliveryMode JMSPriority JMSMessageId JMSTimestamp JMSCorrelationId JMSType 也可以用作过滤
但jmsdestination jmsreplyto jmsredelivered 不可以,因为前两个对应的值是Destination对象,而者 jmsredelivered 的值不确定,因为谁也不知道 这个消息是不是重发的.