-3

サーバー上の私のアプリケーションは、2 つのサーバー名でアクセスできます。別のサーバー名で別の applicationcontext.xml をロードしたいと考えています。どうすればできますか?それは春までに Java EE です!!

4

1 に答える 1

2

「2つのサーバー名でアクセス」とは、異なるHTTPを意味しますhostnameが、同じJavaEEサーバーインスタンスにマップされていると思います。

例:server1.acme.comおよびserver2.acme.com

1つのオプションは、アプリケーションを2回(2つの別々のEAR / WARファイル)インストールし、ビルドプロセスの一部として使用するapplicationcontext.xmlを構成することです。これには、必要に応じて別のコンテキストルートを割り当てることができるという利点があります。次に、Java EEサーバー(Apacheサーバーコンポーネントなど)を構成しhostnameて、を特定のアプリケーションコンテキストルートにマップできます。

オプション2は、両方のインスタンスのすべてのSpringBeanを含むEAR/ WARを1つだけインストールし、共有してはならないBeanに一意のBean名を割り当てることです。これには、1つのアプリケーションのみをロードし、一部のSpring Beanを共有するため、メモリフットプリントが削減されるという利点があります。Webは、 ServletRequest.getRemoteHost()を呼び出すことで取得できるControllerサービスに基づいて、呼び出すサービスBeanを認識している必要があります。hostname

あなたが採用できる他のテクニックがあると確信しています。これらは頭に浮かんだ2つだけです。

于 2012-08-17T07:49:50.300 に答える