15.2. 过滤 JMS 消息属性
JMS 规范说明 String 属性在选择器中使用时不得转换为数字类型。例如,如果消息将 age 属性设置为 String value 21,则选择器 age > 18 不得与它匹配。此限制限制 STOMP 客户端,因为它们只能通过 String 属性发送消息。
配置过滤器以将字符串转换为数字
要将字符串属性转换为数字类型,请将 prefix convert_string_expressions: 添加到 过滤器 的值。
步骤
通过将前缀
convert。以下示例编辑_string_expressions:发送到所需的过滤器,编辑BROKER_INSTANCE_DIR/etc/broker.xmlage > 18的过滤器值来convert_string_expressions:age > 18。<configuration> <core> ... <addresses> <address name="myQueue"> <anycast> <queue name="myQueue"> <filter string="convert_string_expressions='age > 18'"/> </queue> </anycast> </address> </addresses> </core> </configuration>