2

同じコードを実行している複数のサーバーがありますが、それぞれが特定のメッセージを処理しています (それらは地理的な領域に分散しており、その領域に関連するすべてのメッセージを処理する必要があります)

単一のキューとメッセージ セレクターを使用して、さまざまなメッセージをフィルター処理することを考えました。

問題は、アプリケーション・サーバーの構成ファイル (Geronimo 2.2) に基づいて、セレクターが動的に構成されるように Java コードとデプロイメント・プランを作成する方法です。

目標は、すべてのサーバーに同じ EAR をデプロイすることです。

ありがとうございました。

4

1 に答える 1

0

達成したいことのために、Java コードが異なる必要はありません。あるサーバーから別のサーバーに変更する必要があるのは、展開計画です。

すべてのサーバーに同じ EAR をデプロイするには、次のようにアプローチします。

  1. 必要な MDB 構成ごとに異なるものを作成しopenejb-jar.xmlます。それぞれに同じ MDB (<enterprise-beans><message-driven>が定義されていますが、メッセージ セレクターは異なります。
  2. それぞれopenejb-jar.xmlを EAR ファイル内の個別のディレクトリーに直接配置します。
  3. 要素geronimo-application.xmlを持つ特定の構成を参照して、外部から提供された EAR をデプロイします。<alt-dd>
<module>
   <ejb>your_MDB.jar</ejb>
   <alt-dd>config1/openejb-jar.xml</alt-dd>
</module>
于 2011-10-27T21:48:22.423 に答える