クラス MBeanProxyFactoryBean
- 実装されたすべてのインターフェース:
Advice
、Interceptor
、MethodInterceptor
、Aware
、BeanClassLoaderAware
、DisposableBean
、FactoryBean<ObjectSE>
、InitializingBean
マネージリソースがプロキシインターフェースを実装する必要はありませんが、便利な場合があります。管理インターフェースのすべての操作と属性が、プロキシインターフェースの対応するプロパティまたはメソッドと一致する必要はありません。
管理インターフェースに対応していないプロキシインターフェースのメソッドまたはプロパティを呼び出したりアクセスしたりしようとすると、InvalidInvocationException
が発生します。
- 導入:
- 1.2
- 作成者:
- Rob Harrop, Juergen Hoeller
- 関連事項:
フィールドサマリー
クラス org.springframework.jmx.access.MBeanClientInterceptor から継承されたフィールド
logger
インターフェース org.springframework.beans.factory.FactoryBean から継承されたフィールド
OBJECT_TYPE_ATTRIBUTE
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明void
proxyInterface
が指定されていることを確認してから、ターゲット MBean のプロキシを生成します。このファクトリによって管理されるオブジェクトのインスタンス(おそらく共有または独立)を返します。ClassSE<?>
この FactoryBean が作成するオブジェクトの型、または事前に不明な場合はnull
を返します。boolean
このファクトリによって管理されるオブジェクトはシングルトンですか? つまり、FactoryBean.getObject()
は常に同じオブジェクト(キャッシュ可能な参照)を返しますか?void
setBeanClassLoader
(ClassLoaderSE classLoader) Beanclass loader
SE を Bean インスタンスに提供するコールバック。void
setProxyInterface
(ClassSE<?> proxyInterface) 生成されたプロキシが実装するインターフェースを設定します。クラス org.springframework.jmx.access.MBeanClientInterceptor から継承されたメソッド
convertResultValueIfNecessary, destroy, doInvoke, getEnvironment, getManagementInterface, handleConnectFailure, invoke, isPrepared, prepare, setAgentId, setConnectOnStartup, setEnvironment, setManagementInterface, setObjectName, setRefreshOnConnectFailure, setServer, setServiceUrl, setUseStrictCasing
コンストラクターの詳細
MBeanProxyFactoryBean
public MBeanProxyFactoryBean()
メソッドの詳細
setProxyInterface
生成されたプロキシが実装するインターフェースを設定します。これは通常、ターゲット MBean に一致する管理インターフェースであり、MBean 属性の Bean プロパティ setter および getter と、MBean 操作の従来の Java メソッドを公開します。
setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAware
Beanclass loader
SE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean's
InitializingBean.afterPropertiesSet()
メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAware
のsetBeanClassLoader
- オーバーライド:
- クラス
MBeanClientInterceptor
のsetBeanClassLoader
- パラメーター:
classLoader
- 所有クラスローダー
afterPropertiesSet
proxyInterface
が指定されていることを確認してから、ターゲット MBean のプロキシを生成します。- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
- オーバーライド:
- クラス
MBeanClientInterceptor
のafterPropertiesSet
- 例外:
MBeanServerNotFoundException
MBeanInfoRetrievalException
getObject
インターフェースからコピーされた説明:FactoryBean
このファクトリによって管理されるオブジェクトのインスタンス(おそらく共有または独立)を返します。BeanFactory
と同様に、これにより、シングルトンとプロトタイプの両方のデザインパターンをサポートできます。この FactoryBean が呼び出し時にまだ完全に初期化されていない場合(たとえば、循環参照に関係しているため)、対応する
FactoryBeanNotInitializedException
をスローします。Spring 2.0 以降、FactoryBeans は
null
オブジェクトを返すことができます。ファクトリはこれを通常の値として使用します。この場合、FactoryBeanNotInitializedException はスローされません。FactoryBean の実装では、必要に応じて FactoryBeanNotInitializedException 自体をすぐにスローすることをお勧めします。- 次で指定:
- インターフェース
FactoryBean<ObjectSE>
のgetObject
- 戻り値:
- Bean のインスタンス (
null
にすることができます) - 関連事項:
getObjectType
インターフェースからコピーされた説明:FactoryBean
この FactoryBean が作成するオブジェクトの型、または事前に不明な場合はnull
を返します。これにより、たとえばオートワイヤーなどで、オブジェクトをインスタンス化せずに特定の型の Bean を確認できます。
シングルトンオブジェクトを作成している実装の場合、このメソッドはシングルトンの作成を可能な限り回避しようとします。むしろ、事前に型を推定する必要があります。プロトタイプの場合、ここで意味のある型を返すこともお勧めします。
このメソッドは、この FactoryBean が完全に初期化される前に呼び出すことができます。初期化中に作成された状態に依存しないでください。もちろん、利用可能な場合はそのような状態を引き続き使用できます。
注意 : オートワイヤーは、ここで
null
を返す FactoryBeans を単に無視します。FactoryBean の現在の状態を使用して、このメソッドを適切に実装することを強くお勧めします。- 次で指定:
- インターフェース
FactoryBean<ObjectSE>
のgetObjectType
- 戻り値:
- この FactoryBean が作成するオブジェクトの型、または呼び出し時に不明な場合は
null
- 関連事項:
isSingleton
public boolean isSingleton()インターフェースからコピーされた説明:FactoryBean
このファクトリによって管理されるオブジェクトはシングルトンですか? つまり、FactoryBean.getObject()
は常に同じオブジェクト(キャッシュ可能な参照)を返しますか?注意 : FactoryBean がシングルトンオブジェクトを保持することを示す場合、
getObject()
から返されたオブジェクトは所有 BeanFactory によってキャッシュされる可能性があります。FactoryBean が常に同じ参照を公開しない限り、true
を返さないでください。FactoryBean 自体のシングルトンステータスは、通常、所有する BeanFactory によって提供されます。通常、そこではシングルトンとして定義する必要があります。
注意 :
false
を返すこのメソッドは、返されるオブジェクトが独立したインスタンスであることを必ずしも示しません。拡張SmartFactoryBean
インターフェースの実装は、SmartFactoryBean.isPrototype()
メソッドを通じて独立したインスタンスを明示的に示す場合があります。この拡張インターフェースを実装しないプレーンなFactoryBean
実装は、isSingleton()
実装がfalse
を返す場合、常に独立したインスタンスを返すと単純に想定されます。FactoryBean
は通常シングルトンインスタンスを管理するため、デフォルトの実装ではtrue
が返されます。- 次で指定:
- インターフェース
FactoryBean<ObjectSE>
のisSingleton
- 戻り値:
- 公開されたオブジェクトがシングルトンかどうか
- 関連事項: