13.2. JMS メッセージプロパティーのフィルタリング
JMS 仕様は、セレクターで使用されると String プロパティーを数値型に変換してはならないことを示しています。たとえば、メッセージの age
プロパティーが String 値 21
に設定されていると、セレクターの age > 18
は一致できません。この制限により、STOMP クライアントは String プロパティーでメッセージを送信できるため制限されます。
文字列を数値に変換するフィルターの設定
String プロパティーを数値型に変換するには、接頭辞 convert_string_expressions:
を filter
の値に追加します。
手順
接頭辞
convert_string_expressions:
を必要なフィルター
に適用して、<broker_instance_dir> /etc/broker.xml
を編集します。以下の例では、age > 18
からconvert_string_expressions:age > 18
にフィルター
値を編集します。<configuration> <core> ... <addresses> <address name="myQueue"> <anycast> <queue name="myQueue"> <filter string="convert_string_expressions='age > 18'"/> </queue> </anycast> </address> </addresses> </core> </configuration>