2009-02-20 5 views
1

J'ai plusieurs messages avec des propriétés définies. Certains d'entre eux contiennent des données numériques, bien que je n'ai fait aucune tentative de déclarer cela explicitement à ActiveMQ lors de l'envoi des messages.Comment utiliser les conditions arithmétiques et les opérateurs dans les sélecteurs ActiveMQ/JMS utilisant le protocole Stomp

Lorsque j'essaie d'utiliser des conditions arithmétiques, par exemple: <,>, < =,> = et famille, j'obtiens une erreur. Est-il possible d'utiliser des conditions arithmétiques à l'aide de sélecteurs via Stomp? Je l'ai déjà cherché sur le web et seulement obtenu le coup suivant sur google: http://rubyforge.org/tracker/index.php?func=detail&aid=21378&group_id=1010&atid=3981

Cette question semble être sur la table à fixer avec V1.1 du protocole STOMP: http://stomp.codehaus.org/Stomp+v1.1+Ideas

Répondre

1

Je vous recommande d'essayer le ActiveMQ appelé sous-projet Apollo. Il est important d'avoir un excellent support STOMP et supporte les sélecteurs numériques see the docs

+0

il est bon de voir qu'ActiveMQ (ou au moins la fourchette Apollo) prend désormais en charge les sélecteurs numériques et les conditions dans l'adaptateur STOMP. –

0

La seule façon je avez trouvé à faire la sélection des messages de façon numérique avec STOMP et ActiveMQ est d'utiliser des messages XML et sélecteurs XPATH:

pour utiliser des messages XML, active MQ nécessite trois pots de xalan:

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

Tous les trois doivent être dans le CLASSPATH (ie: dans le ActiveMQ/répertoire lib). Tous les trois sont disponibles à partir du paquet binaire xalan.

2

actuellement Stomp traite toutes les propriétés comme des chaînes, donc l'utilisation de l'arithmétique ne fonctionne pas. Comme vous l'avez découvert, il est prévu de supporter les types de propriétés dans Stomp 1.1 et ensuite vous pourrez les utiliser comme dans JMS.

Vive Dejan

Questions connexes