27.7. ComponentRegistry
上記のさまざまなマネージャーとコンポーネントが作成され、キャッシュで使用するために保存されるレジストリー。他のマネージャーや重要なコンポーネントはすべてレジストリーを介して実行できます。
レジストリー自体は、軽量の依存関係インジェクションフレームワークで、コンポーネントとマネージャーは相互に参照して初期化できるようにします。以下は、DataContainer と Configuration の依存関係を宣言するコンポーネントの例になります。また、DataContainerFactory はその場で DataContainers を構築する機能を宣言します。
@DefaultFactoryFor
public class DataContainerFactory extends AbstractNamedCacheComponentFactory {
---
@DefaultFactoryFor
public class DataContainerFactory extends AbstractNamedCacheComponentFactory {
---
ComponentRegistry で登録されたコンポーネントにはライフサイクルがある場合があり、@Start または @Stop アノテーションが付けられたメソッドはコンポーネントレジストリーで使用される前後に呼び出されます。
---
@Start
public void init() {
useWriteSkewCheck = configuration.locking().writeSkewCheck();
}
---
@Start
public void init() {
useWriteSkewCheck = configuration.locking().writeSkewCheck();
}
上記の例では、@Stop へのオプションの priority パラメーターを使用して、他のコンポーネントに関連してコンポーネントが停止している順序を示すために使用されます。これは、Unix Sys-V 形式の順序付けに従います。優先順位の高い方法よりも優先度が高い方法の前に呼び出されます。デフォルトの優先度は 10 です。指定されていない場合は、デフォルトの優先度は 10 です。