T
- サブクラスで生成する具体的なMeterRegistry
の型public abstract class MeterRegistryFactory<T extends io.micrometer.core.instrument.MeterRegistry> extends java.lang.Object implements ComponentFactory<T>
MeterRegistry
のコンポーネント生成に共通する処理をまとめた抽象クラス。Modifier and Type | Field and Description |
---|---|
protected ApplicationDisposer |
applicationDisposer
廃棄処理を行うインタフェース。
|
protected MeterBinderListProvider |
meterBinderListProvider
生成した
MeterRegistry に適用するMeterBinder リストのプロバイダ。 |
protected java.lang.String |
prefix
設定値のプレフィックス。
|
protected java.util.Map<java.lang.String,java.lang.String> |
tags
すべてのメトリクスに共通で設定するタグ。
|
protected java.lang.String |
xmlConfigPath
設定ファイルのパス。
|
Constructor and Description |
---|
MeterRegistryFactory() |
Modifier and Type | Method and Description |
---|---|
protected abstract T |
createMeterRegistry(MicrometerConfiguration micrometerConfiguration)
MeterRegistry のインスタンスを生成する。 |
protected T |
doCreateObject()
ComponentFactory.createObject() の実処理を行うメソッド。 |
void |
setApplicationDisposer(ApplicationDisposer applicationDisposer)
ApplicationDisposer を設定する。 |
void |
setMeterBinderListProvider(MeterBinderListProvider meterBinderListProvider)
MeterBinderListProvider を設定する。 |
void |
setPrefix(java.lang.String prefix)
プレフィックスを設定する。
|
void |
setTags(java.util.Map<java.lang.String,java.lang.String> tags)
すべてのメトリクスに共通で設定するタグを指定する。
|
void |
setXmlConfigPath(java.lang.String xmlConfigPath)
XML設定ファイルのパスを設定する。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createObject
protected java.lang.String prefix
protected java.lang.String xmlConfigPath
未設定の場合に読み込まれるデフォルトのパスについてはMicrometerConfiguration
を参照。
protected MeterBinderListProvider meterBinderListProvider
MeterRegistry
に適用するMeterBinder
リストのプロバイダ。protected java.util.Map<java.lang.String,java.lang.String> tags
protected ApplicationDisposer applicationDisposer
protected T doCreateObject()
ComponentFactory.createObject()
の実処理を行うメソッド。
サブクラスは、本メソッドを使って createObject()
を次のように実装する。
@Override
public SimpleMeterRegistry createObject() {
return doCreateObject();
}
これは、 createObject()
の戻り値の型が総称型だった場合、
DIコンテナがコンポーネントの具象型を特定できないことに起因する。
この問題は、上述のようにサブクラスで createObject()
の戻り値の型を具象型として宣言することで回避できる。
一方で、コンポーネントを作成するロジック自体はどの MeterRegistry
でも共通なので、
コンポーネント作成処理を共通化するために、このメソッドが用意されている。
MeterRegistry
オブジェクトprotected abstract T createMeterRegistry(MicrometerConfiguration micrometerConfiguration)
MeterRegistry
のインスタンスを生成する。micrometerConfiguration
- Micrometerの設定MeterRegistry
のインスタンスpublic void setPrefix(java.lang.String prefix)
prefix
- プレフィックスpublic void setXmlConfigPath(java.lang.String xmlConfigPath)
xmlConfigPath
- XML設定ファイルのパスpublic void setMeterBinderListProvider(MeterBinderListProvider meterBinderListProvider)
MeterBinderListProvider
を設定する。meterBinderListProvider
- MeterBinderListProvider
public void setTags(java.util.Map<java.lang.String,java.lang.String> tags)
tags
- すべてのメトリクスに共通で設定するタグpublic void setApplicationDisposer(ApplicationDisposer applicationDisposer)
ApplicationDisposer
を設定する。applicationDisposer
- ApplicationDisposer