Как использовать арифметические условия и операторы в селекторах ActiveMQ / JMS с использованием протокола Stomp

StackOverflow https://stackoverflow.com/questions/571617

  •  05-09-2019
  •  | 
  •  

Вопрос

У меня есть несколько сообщений с установленными свойствами.Некоторые из них содержат числовые данные, хотя я не предпринимал попыток явно объявлять это ActiveMQ при отправке сообщений.

Когда я пытаюсь использовать арифметические условия, т. е.:<, >, <=, >= и семья, я получаю сообщение об ошибке.Есть ли какой-нибудь способ использовать арифметические условия с использованием селекторов через Stomp?Я уже поискал в Интернете и получил только следующее попадание в Google: http://rubyforge.org/tracker/index.php?func=detail&aid=21378&group_id=1010&atid=3981

Эта проблема, похоже, находится на столе, которая должна быть исправлена с помощью версии 1 протокола STOMP: http://stomp.codehaus.org/Stomp+v1.1+Ideas

Это было полезно?

Решение

Я рекомендую вам попробовать подпроект ActiveMQ под названием Аполлон.Он ориентирован на отличную поддержку STOMP и поддерживает числовые селекторы смотрите документы

Другие советы

в настоящее время Stomp обрабатывает все свойства как строки, поэтому использование арифметики не работает.Как вы выяснили, планируется поддерживать типы свойств в Stomp 1.1, и тогда вы сможете использовать их как в JMS.

Ваше здоровье Dejan

Единственный способ, который я нашел для выбора сообщений числовым способом с помощью STOMP и ActiveMQ, - это использовать XML-сообщения и селекторы XPATH:

Для использования XML-сообщений ActiveMQ требуется три jar от xalan:

  • xalan.jar
  • xmlImpl.jar
  • xml-apis.jar

Все три должны быть в CLASSPATH (т.Е.:в каталоге activemq/lib).Все три доступны из бинарного пакета xalan.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top