テスト環境、開発環境、本番環境などのさまざまな目的で、4つの異なるサーバーに共通のコードベースをデプロイしています。
ただし、コードのフローを決定するために、コード内でどのサーバーのコードが実行されているかを知る必要があります。サーバーにデプロイされているWebサービスコード内のサーバーのURLまたはIDを取得する方法を知っている人はいますか?
テスト環境、開発環境、本番環境などのさまざまな目的で、4つの異なるサーバーに共通のコードベースをデプロイしています。
ただし、コードのフローを決定するために、コード内でどのサーバーのコードが実行されているかを知る必要があります。サーバーにデプロイされているWebサービスコード内のサーバーのURLまたはIDを取得する方法を知っている人はいますか?
アプローチ 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 を優先する必要があります)。
それが役に立てば幸い :-)