私は15のサービスを持つシステムを持っています。私はラクダとJMSリモーティングの新機能です。 15のサービスでは、1つのサービスにつき1つの着信キューが必要であると思っていました。私は最初の結合(org.apache.camel.example.server.Multiplier)が働く見つけいくつのApache Camelキューが必要ですか?
org.apache.camel.example.server.Treble implements two interfaces
org.apache.camel.example.server.Multiplier and org.apache.camel.example.server.Divider. I bind the two interfaces to the same JMS queue: jms:queue:numbers
<bean id="multiplier" class="org.apache.camel.spring.remoting.CamelServiceExporter">
<property name="uri" value="jms:queue:numbers" />
<property name="service">
<bean class="org.apache.camel.example.server.Treble" />
</property>
<property name="serviceInterface" value="org.apache.camel.example.server.Multiplier" />
</bean>
<bean id="divider" class="org.apache.camel.spring.remoting.CamelServiceExporter">
<property name="uri" value="jms:queue:numbers" />
<property name="service">
<bean class="org.apache.camel.example.server.Treble" />
</property>
<property name="serviceInterface" value="org.apache.camel.example.server.Divider" />
</bean>
:
しかし、キューが1つのインタフェースだけにバインドできるようです。クライアント側では、org.apache.camel.example.server.Dividerのプロキシを取得し、divide()を呼び出します。メッセージはサーバー側に届きます。しかしCamelがメッセージを処理しようとすると、camelはjms:queue:numbersにバインドされた最初のインタフェースのプロキシをキャッシュするだけです。したがって、メッセージを処理して例外をスローできませんでした。
私はラクダでjmsリモーティングを使用したいのですが、2つのキュー(in/out)/クラスが必要ですか?それは高価ですか?あなたは同じ、着信エンドポイントを使用するすべてのサービスを必要とする場合は
感謝を使用しますが、何も私のサービスは、同じデータ入力がありません。彼らはすべて異なるデータ入力を持っています。 – KingAndrew
申し訳ありませんが、私は同じデータを意味しませんでした、私は同じエンドポイントを意味しました。 – Manoj