Php 如何在使用Stomp协议的ActiveMQ/JMS选择器中使用算术条件和运算符

Php 如何在使用Stomp协议的ActiveMQ/JMS选择器中使用算术条件和运算符,php,activemq,stomp,Php,Activemq,Stomp,我有几个设置了属性的消息。其中一些包含数字数据,尽管我在发送消息时没有尝试将其显式声明给ActiveMQ 当我尝试使用算术条件时,即:,=和family,我得到一个错误。 有没有办法通过Stomp使用选择器使用算术条件?我已经在网上搜索过了,在谷歌上只得到了以下信息: STOMP协议v1.1似乎解决了这个问题:我发现使用STOMP和ActiveMQ以数字方式选择消息的唯一方法是使用XML消息和XPATH选择器: 要使用XML消息,ActiveMQ需要来自xalan的三个JAR: xala

我有几个设置了属性的消息。其中一些包含数字数据,尽管我在发送消息时没有尝试将其显式声明给ActiveMQ

当我尝试使用算术条件时,即:,=和family,我得到一个错误。 有没有办法通过Stomp使用选择器使用算术条件?我已经在网上搜索过了,在谷歌上只得到了以下信息:


STOMP协议v1.1似乎解决了这个问题:

我发现使用STOMP和ActiveMQ以数字方式选择消息的唯一方法是使用XML消息和XPATH选择器:

要使用XML消息,ActiveMQ需要来自xalan的三个JAR:

  • xalan.jar
  • xmlImpl.jar
  • xml-api.jar

所有三个都必须在类路径中(即:在activemq/lib目录中)。这三个属性都可以从xalan二进制软件包中获得。

目前Stomp将所有属性都视为字符串,因此使用算术不起作用。正如您所发现的,计划在Stomp 1.1中支持属性类型,然后您就可以像在JMS中一样使用它们

干杯
Dejan

我建议您尝试名为的ActiveMQ子项目。它的重点是提供强大的STOMP支持,并且确实支持数字选择器

很高兴看到ActiveMQ(或者至少是fork Apollo)现在在STOMP适配器中支持数字选择器和条件。