消息过滤器基于sql的语法。
producer部分代码
MapMessage message1 = session.createMapMessage();
message1.setIntProperty("age",32);
message1.setString("name", "张三");
message1.setInt("age", 32);
MapMessage message2 = session.createMapMessage();
message1.setIntProperty("age",42);
message2.setString("name", "李四");
message2.setInt("age", 42);
MapMessage message3 = session.createMapMessage();
message1.setIntProperty("age",52);
message3.setString("name", "王五");
message3.setInt("age", 52);
producer.send(message1);
producer.send(message2);
producer.send(message3);
consumer部分代码
MessageConsumer consumer = session.createConsumer(queue_2,"age > 40");
注意:过滤是相对于Message属性的过滤,不是message内容。所以要想过滤,就得设置Message属性。
最后得到的结果是李四跟王五。