2017-01-06 16 views
0

私は、JMSヘッダーのプロパティが大文字と小文字を区別していることを知っています。しかし、私はJMS Selctorを大文字と小文字を区別しないようにする必要があるという1つの要件に取り組んでいます。それは可能ですか? 私はラクダを使用しています。以下は、プロパティファイルでセレクタを定義する方法です。JMSセレクタを大文字小文字を区別しないようにすることはできますか?

accountQueue = ActiveMQqueueJmsComponent:キュー:?アカウントセレクタ=お金<>( 'ドル')

キャメルルート:

@Value("${consumer.accountQueue}") 
    private String accountQueue; 


@Bean 
    RouteBuilder accountRouteBuilder() { 
     return new RouteBuilder() { 

     @Override 
     public void configure() throws Exception { 

      from(accountQueue).to(OrderService) 
      } 
      } 
     } 

私はUPPERとLOWERのような機能を使用しようとしたが、取得することができません成功。私は以下のように守っている。

accountQueue = ActiveMQqueueJmsComponent:queue:account?selector=money <> UPPER('Dollar') // not working 
+0

[記事](http://stackoverflow.com/questions/31969274/apache-mq- jms-message-selector)を使用すると、クエリを解決できます。 – Avadhut

答えて

0

this JIRA issueでActiveMQに追加されたセレクタ拡張の関数呼び出しを見てください。この機能拡張を使用すると、ニーズに合ったものを作成することができます。

この拡張機能は、次のようにいくつかのカスタム機能の組み込み関数をいくつかで行うことが呼び出しを可能に:

Message message = createMessage(); 
    assertSelector(message, "REGEX('1870414179', SessionserverId)", false); 
    message.setLongProperty("SessionserverId", 1870414179); 
    assertSelector(message, "REGEX('1870414179', SessionserverId)", true); 
    assertSelector(message, "REGEX('[0-9]*', SessionserverId)", true); 
    assertSelector(message, "REGEX('^[1-8]*$', SessionserverId)", false); 
    assertSelector(message, "REGEX('^[1-8]*$', SessionserverId)", false); 

    assertSelector(message, "INLIST(SPLIT('Tom,Dick,George',','), name)", false); 
    assertSelector(message, "INLIST(SPLIT('Tom,James,George',','), name)", true); 

    assertSelector(message, "INLIST(MAKELIST('Tom','Dick','George'), name)", false); 
    assertSelector(message, "INLIST(MAKELIST('Tom','James','George'), name)", true); 

    assertSelector(message, "REGEX('connection1111', REPLACE(JMSMessageID,':',''))", true); 
+0

返信のために@Tim Bishに感謝します。しかし私は文法の下でこれを使用しました。 ActiveMQqueueJmsComponent:queue:account?selector = money <> '"REGEX(^ [\ p {ドル} \ p {ドル} ._-] * $)"あなたが投稿したリンクは、出版中にセレクターで機能をカスタマイズ/適用することだと思います。しかし、サブスクリプションのシナリオで正規表現を探しています。以下は私が待ち行列から購読している方法です(これも問題になっています)。 –

関連する問題