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