0

テスト環境、開発環境、本番環境などのさまざまな目的で、4つの異なるサーバーに共通のコードベースをデプロイしています。

ただし、コードのフローを決定するために、コード内でどのサーバーのコードが実行されているかを知る必要があります。サーバーにデプロイされているWebサービスコード内のサーバーのURLまたはIDを取得する方法を知っている人はいますか?

4

1 に答える 1

0

アプローチ 1 : 4 つの異なるサーバー、つまり 4 つの異なる URL で問題ありません。

あなたのアプリケーションのURLが

http(s)://ipaddress:port/application 

4 つのサーバー インスタンスすべてが同じマシン上にある可能性があります。その場合、「ipaddress」は同じになります。しかし、ポートは異なります。その場合、マシンが異なる場合、ipaddress と port の両方が異なります。

コード内で絶対パスを取得できるようになりました。絶対パスは、絶対パスが要求されているファイルの完全な URL で構成されます。お気に入り

http://ipaddress:port/application/abc/def/x.java. 

これから、ポート/IP アドレスを抽出し、ロジックを記述できます。

アプローチ2:

アプリケーション内に、デプロイ先のサーバーを含むプロパティ ファイルがあります。(現在、これを自動的に設定する方法は考えられませんが、展開中にこのプロパティファイルでサーバー名を設定できます)

後で必要なときに。プロパティ ファイルを読み取ることができ、実行しているアプリケーションのバージョンがわかります。

個人的には、アプローチ 2 を好みます (プロパティ ファイルを自動的に初期化することを考えられる場合は、アプローチ 2 を優先する必要があります)。

それが役に立てば幸い :-)

于 2012-09-24T14:01:23.427 に答える