私の問題は次のとおりです。環境ごとにP台のサーバーを使用して、M個の異なる環境(qa / prod / etc。)でN個のアプリケーションを実行しています。掛け算すると、固有の構成の数は数百になります。これらの各アプリケーションには、一連の環境固有のプロパティ(パブリックホスト名、リスニングポート、最大メモリなど)があります。
掛け算すると、設定するプロパティは数千あります。ただし、プロパティがどうあるべきかを定義する実際のルールは非常に単純です。たとえば、物理サーバーごとに2つのアプリインスタンスがある本番環境では、1つのアプリがポート8080にバインドされ、もう1つのアプリが8081にバインドされます。
これが私が欲しいものです:プロパティ設定がどうあるべきかを指示するルールを指定できる言語(DSL)。繰り返さないようにしたいと思います。言語は宣言型である必要があります。私たちはかなりJava中心ですが、私がする必要があるのは名前と値のペアを生成することだけなので、自分自身を制限するのは嫌です。
そのようなものは存在しますか?何も見つかりませんでした。
Droolsや他のルールエンジンを使用できると思いますが、この目的には非常に重いものです。プロパティファイルは最小公分母です。それらをwar/earファイルに入れたり、ビルド中にテンプレートベースの置換を行うために使用したりできます。この種の問題を解決するためのより洗練された方法は確かにありますが、少なくとも短期。