gpt4 book ai didi

jms - ActiveMQ 消息选择器

转载 作者:行者123 更新时间:2023-12-02 04:23:10 25 4
gpt4 key购买 nike

我的消息队列中包含多条消息。我想按特定属性进行分组。这些都有一个自定义属性“item-id”

我现在将某些值(value)观归结为:体育、电影......

我这样做:

new MessageCreator() {
ObjectMessage message = session.createObjectMessage();
message.setObject(data);
message.setStringProperty("item-id", "sports");
}

该值也显示在属性的队列中。

当我尝试检索包含此属性的消息时,我没有得到任何结果。

第一次审判:

 Connection con = pc.createConnection();
Session sess =con.createSession(false,Session.AUTO_ACKNOWLEDGE);
AmqMessagesQueryFilter queryFilter = new AmqMessagesQueryFilter(pc, queue);
con.start();
String selector = "item-id = 'sports'";
List messages = queryFilter.query(selector);

但是列表是空的

第二次试验:

 Connection con = pc.createConnection();
Session sess = con.createSession(false, Session.AUTO_ACKNOWLEDGE);

AmqMessagesQueryFilter queryFilter = new AmqMessagesQueryFilter(pc, queue);

QueueBrowser queueBrowser = sess.createBrowser(queue,"item-id = 'sports'");
con.start();
List messages=Collections.list(queueBrowser.getEnumeration());

列表也是空的。

我的错误是什么?

最佳答案

我知道这已经太晚了,但这可能会避免某人浪费大量时间(和挫败感)。

请勿在消息选择器中使用破折号。如果需要,请使用下划线。在这里查找“标识符”:https://docs.oracle.com/javaee/1.4/api/javax/jms/Message.html

关于jms - ActiveMQ 消息选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28815039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com