アプリケーションサーバーとしてtomcatを使用しているJavaWebアプリケーションでは、アプリケーションがデプロイ/再デプロイされるときに、特定のプロパティに異なる値を渡す方法に興味があります。
私が知っているいくつかの方法があります:
- 1つは、setenv.shファイルで設定されたTomcatに渡されるJVMオプションを使用する方法です。私の知る限り、再デプロイのたびにサーバーを再起動する必要があります。
- プロパティファイルでプロパティ値を指定します。同じバージョンのアプリケーションを再デプロイする前に、ファイルに手動で設定し、アプリケーションを再構築する必要があります。
- springを使用しているときに、applicationContext.xmlファイルで定義されているBeanのプロパティ値を指定します。ここでも、手動によるアプローチとアプリの再構築が必要です。
- 構成をデータベースに保存します。これには、そのような構成を格納するデータベースの接続プロパティを知っている必要があります。
アプリをデプロイ/再デプロイするたびに、IPアドレス、接続数、ポート番号などの特定のプロパティ変数を変更する場合、どのような戦略に従う必要がありますか?このようなプロパティ値をTomcatにデプロイされたWebアプリケーションに渡すための一般的に受け入れられている方法はありますか?プロパティ値をJVMオプションとして渡す場合、Tomcatサーバーを再起動する必要がありますか?
または、上記で言及していない展開パラメーターを構成するための他の一般的な方法はありますか?各デプロイメントの前に手動でプロパティを設定する(プロパティファイルを設定するなど)のではなく、プログラムで簡単に自動化できるプロセス(JVMオプションを渡すなど)を希望します。また、再デプロイする前に毎回同じバージョンを再構築する必要はありません。