2017-02-06 15 views
0

呼び出しURLのためにテーブルとプログラムのループテーブルを読み込み、呼び出しが完了したらステータスをOKにします。他のプログラムでこのテーブルに挿入すると、リンク列は一定ではありません。テーブルは次のようになります:wso2のキュー、エンドポイント、メッセージプロセッサの動的設定方法ESB

Id link      status 
============================================== 
    1 | 192.168.0.1/adduser?id=1 | 
    2 | 192.168.0.2/adduser?id=2 | 
    3 | 10.0.0.1/getinfo?id=1  | 
    4 | 192.168.0.1/deleteuser?id=10 | 

私は、キュー、エンドポイント、メッセージプロセッサで各レコードを実装したいと思います。例えば : メッセージプロセッサ1(QUEUE1、endpoint1)

endpoint1 = "192.168.0.1"

メッセージprocessor2(キュー2、endpoint2)

endpoint2 = "192.168.0.2"

メッセージprocessor3(queue3、endpoint3)

endpoint3 = "10.0.0.1"

....

静的なソリ​​ューションで定義するのに問題はありませんが、動的にキュー、エンドポイント、メッセージプロセッサを定義することはわかりません。テーブルの新しい行に新しいリンクがあり、前に定義するのが嫌いです。おかげさまで

答えて

0

正しいかどうかわかりませんが、送信する前に "TO"ヘッダーを設定して、データを送信するキューを設定できます。以下は例です。

<header xmlns:ns="http://org.apache.synapse/xsd" name="To" expression="concat('jms:/',get-property('queueToSend'), '?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=failover:(tcp://server1:port,tcp://server2:port)&amp;transport.jms.DestinationType=queue&amp;transport.jms.UserName=queuUser&amp;transport.jms.Password=queuePass')"></header> 
    <send></send> 
+0

ありがとうございました。どのようにキュー名が存在するかどうかをチェックするには? – user6920966

+0

あなたのブローカーに依存します(例: ActiveMQを使用すると、実行時にESBによってキューが作成されます(存在しない場合)。私は、あなたがブローカに接続するためにesbで使うユーザに、ブローカ設定でキューを作る権利を与えなければならないと思います。 esbは存在しない場合はそのキューを作成します –

関連する問題