activemq消費者過濾器

消息過濾器基於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屬性。
最後得到的結果是李四跟王五。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章