2016-10-07 15 views
0

私は、仕事をするためにいくつかの外部パラメータを必要とするアプリケーションを持っています。 この時点では、このパラメータをJVMパラメータとして渡してから、System.getProperty()を読み込みます。 私のアプリケーションは2つの異なるクライアントによって使用され、どのクライアントがアクセスしているかによって異なる値を渡したいと思います。私は2つのドメインを作成することでそれができることを知っていますが、私は本当に同じポートとアプリケーション名を使用したいと思っています。例:Glassfish - 同じアプリケーションの異なるパラメータ値

http://client1.myurl.com:8080/app 

http://client2.myurl.com:8080/app 

は、私はすでに2仮想サーバーを作成しましたが、私は仮想サーバーは、それを呼び出しているかに応じてアプリに異なるパラメータを渡すことができる方法を見つけることができません。

+0

"どのようにアプリケーションにさまざまなパラメータを渡すことができますか"とはどういう意味ですか?あなたの記述を正しく理解していれば、2つの仮想サーバーをカバーする1つのJavaアプリケーションを実行したいと思う。したがって、アプリケーションは1つしかなく、実行時に動的に使用するparamセットを区別する必要があります。起動時には、必要なすべてのパラメータセットを提供します。たとえば、プロパティ名「-Dproperty1.client1 = value1、-Dproperty1.client2 = value2など」を修飾します。しかし、すぐに第3のクライアントがプレーするようになると、このアプローチは悪夢の中で起こります。プロパティファイルを使ってアプリケーションをよりよくパラメータ化する。 – Heri

+0

@Heriさんへの返信ありがとうございます。問題は、どのクライアントがアプリケーションにアクセスしているかを特定する方法です。私が考えることのできる1つの方法は、URLを取得することです。しかし、私はVirtual Serverを作成できるので、接続に使用されているVirtual Serverに応じてアプリケーションにさまざまなパラメータを渡す方法があると思いました。 – CesarKuehl

+0

あなたは私の質問に答えて、私が理解していないのと同じ言葉を繰り返さないのはなぜですか? – Heri

答えて

0

私はこの問題の解決策を見つけました。 私はアプリケーションを同じコンテキストルートで2回展開する必要がありましたが、名前は異なり、それぞれを特定のVirtual-Serverにバインドしました。

このシナリオでは、ドメイン/アプリケーション上に2つのアプリケーションフォルダが作成され、同じアプリケーションの2つのバージョンを持つことができますが、プロパティファイルは異なります。

関連する問題