2

Zend Frameworkを使用していたとき.ini、私はこれを行うことができる構成ファイルを持っていました。

[production]
setting1 = abc
setting2 = def

[development : production]
setting1 = ghi

developmentそして、アプリケーションプロファイルをオンにしたときsetting1、の値はでしたghiが、prdouctionモードではでしたabc。Apache Commons Configurationでそのような継承された設定を定義することは可能ですか?

複数の構成ファイルを定義し、それらからCompositeConfiurationを作成できることは知っていますが、異なるモードの特定のファイルのみを含める必要があることをアプリケーションに伝えるにはどうすればよいですか?これらのアプリケーションプロファイルを設定する方法もまだわかりませんが、と呼ばれる別の設定PROFILEで作業を行うことができます。

可能であれば、設定を複数のファイルに分割したくありません。

これをJavaでどのように行うべきかについての情報が見つかりません。

4

1 に答える 1

0

Apache 構成は、構成オプションをファイルからメモリ データ構造に読み取ります。変数の展開以外に、デフォルトではそれ以上の後処理はありません。したがって、オプションは次のとおりです。

  • すべてのオプションをデフォルト構成に入れ、デフォルトを上書きする個々の「デルタ」構成を使用します。これらの個々のファイルをCompositeConfiuration.

    この設計は、Java の継承モデルに従います。値を上書きして新しい値を追加するために拡張する基本型です。

  • 巨大な構成を受け取り、好みのマージ ルールが適用された新しい構成に変換するポスト プロセッサを作成します。

  • ヘルパー オブジェクトを作成して、構成内のキーで値を検索します。これにより、ルックアップ時にマージを行うことができます。

于 2013-02-15T12:42:21.637 に答える