XML ベースの構成ファイルに大きく依存するライブラリの開発に取り組んでいます。これらのファイルは、異なるスコープを持つ Java オブジェクトへの変数と参照を含むプロセス ワークフローを記述します。非常に単純化された疑似構成は次のようになります。
<config>
<valueProducer name="thingThatProducesAValue" class="org.com.Blah" method="foo" args="arg1, arg2" scope="application" />
<var name="v" scope="process" value="${thingThatProducesAValue}" />
<process step="somethingImportant">
<write value="${v}" to="a_file_somewhere">
<write value="${v}" to="a_queue">
</process>
</config>
基本的に、この構成は次のように定義します: 1 - クラス「org.com.Blah」のインスタンスが作成され、アプリケーションの実行中に再利用されます (ほとんどシングルトンのように) 2 - 「v」という名前の変数"、どこかで使用されると、"thingThatProducesAValue" という名前の値プロデューサーの結果が取り込まれます 2.1 - "v" の値は、プロセス "somethingImportant" の実行中に一度評価され、その後再利用されます。プロセスの終わり。
プログラムで構成でき、スコープ付きエンティティのカスタム管理に何らかのサポートを提供する Java ベースの IoC コンテナを探しています。Spring を見てみましたが、独自の構成ファイル形式または注釈を使用せずに何かを行うのは非常に難しいようです。私の要件は、この XML を独自の形式で読み取り、値の置換とクラス/メソッドの呼び出しを実行できるエンジンを作成することですが、基本的なことを実行し、既に利用可能なライブラリの上で作業するだけでよいでしょう。何か提案はありますか?