Web アプリケーションをセットアップする際のプロパティの処理に関して、Glassfish に問題があります。Jetty の使用から、Amazon AWS で GlassFish を使用したクラスター化された環境セットアップに移行しています。
従来、サーブレットを扱う場合、環境変数で解析する場合は .properties ファイルを使用することを意図していますが、これは分散環境を使用する場合に問題を引き起こします (すべてのクラスター ノードに .properties ファイルを配置する必要があります)。GlassFish には、管理コンソールを介して Web コンテナーのプロパティを構成する機能があります。つまり、プロパティはクラスターを通じて自動的に配布されます。
問題は、変数の取得に関してランダムな動作が発生していることです。初めてテスト アプリケーションを実行したとき、変数を取得できませんでしたが、機能しなくなりました
基本的に、管理UIから環境変数を設定しています。[構成] には 3 つの構成設定があります。1 つはクラスター用 (通常は .config という名前)、1 つは default-config、もう 1 つは server-config です。Web コンテナの下で、呼び出された「someVal」の 3 つすべてにテスト プロパティを配置しました。
次に、Scala (サーブレット 2.5 を使用) で簡単な Scalatra アプリを作成し、この行を使用してプロパティを取得しようとしました。
getServletContext.getInitParameter("someVal")
私が間違ってやっているアイデアはありますか?それは常にnullを返しますか?
更新 私がやろうとしていたことは、物事を行う「正しい」方法ではないようです。私の質問は、GlassFish でクラスターを処理するときに、特定のアプリケーション設定 (.war およびランタイムの外部) を提供する標準的な方法は何ですか。myfear は、データベースを使用することが標準的なアプローチであると述べましたが、私はこれらの構成設定自体を使用して JDBC 接続を定義します。