ActiveMQ Artemis 如何通过 "text" 字段的一部分过滤消息

ActiveMQ Artemis how to filter message by part of the "text" field

在ActiveMQ Artemis 2.10.0 中,有没有什么方法可以使用管理控制台通过“文本”字段的一部分来过滤消息? 我使用方法“浏览(java.lang.String)”并尝试通过此表达式过滤我的消息(下面的示例):

text LIKE '%777-555-333-111%'

消息示例:

        {
            "address": "ADDRESS.EXAMPLE",
            "ShortProperties": {},
            "messageID": "11111",
            "priority": 4,
            "type": 3,
            "redelivered": false,
            "ByteProperties": {
                "_AMQ_ROUTING_TYPE": 1
            },
            "IntProperties": {
                "CamelHttpResponseCode": 200
            },
            "durable": true,
            "StringProperties": {
                "Server": "nginx\/1.19.5",
                "CamelHttpCharacterEncoding": "UTF-8",
                "Content_HYPHEN_Type": "application\/xop+xml",
                "connection": "keep-alive"
            },
            "DoubleProperties": {},
            "expiration": 0,
            "text": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><processId>777-555-333-111<\/processId><\/error>",
            "BooleanProperties": {},
            "FloatProperties": {}
        }
    

但是,它没有给我任何结果。 如果可以在我当前的 Artemis 版本上提供提示,将不胜感激。

browse 管理操作使用的过滤器(以及 JMS 消费者等使用的过滤器)仅适用于消息 headers属性。您不能按邮件正文中的文本过滤邮件。

您粘贴的数据只是发送给客户端的序列化消息数据过滤器已经应用之后。

Apache ActiveMQ Artemis 还支持特殊的 XPath 过滤器 消息的正文。正文必须 XML,请参阅 documentation 了解更多详情。

要使用 XPath 过滤器,请使用以下语法:

XPATH '<xpath-expression>'