13.2. 过滤 JMS 消息属性
JMS 规格指出,在选择器中使用 String 属性时不得转换为数字类型。例如,如果消息将 age 属性设置为 String 值 21,则选择器 期限 > 18 不得与它匹配。这个限制限制 STOMP 客户端,因为它们只能使用 String 属性发送消息。
将过滤器配置为将字符串转换为一个数字
要将 String 属性转换为数字类型,请将前缀 convert_string_expressions: 添加到 过滤器 的值。
流程
编辑
<broker_instance_dir>/etc/broker.xml,为相关的filter应用前缀convert_string_expressions:。以下示例将filter值从age > 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>