クラス MBeanClientInterceptor
- 実装されたすべてのインターフェース:
Advice
、Interceptor
、MethodInterceptor
、Aware
、BeanClassLoaderAware
、DisposableBean
、InitializingBean
- 既知の直属サブクラス
MBeanProxyFactoryBean
MBeanServerConnection
で実行されている MBean に呼び出しをルーティングする MethodInterceptor
。ローカルおよびリモート MBeanServerConnection
の両方で機能します。 デフォルトでは、MBeanClientInterceptor
は MBeanServer
に接続し、起動時に MBean メタデータをキャッシュします。これは、アプリケーションの起動時に実行されていない可能性のあるリモート MBeanServer
に対して実行する場合、望ましくない可能性があります。connectOnStartup
プロパティを "false" に設定することにより、プロキシに対する最初の呼び出しまでこのプロセスを延期できます。
この機能は、通常 MBeanProxyFactoryBean
を介して使用されます。詳細については、そのクラスの javadoc を参照してください。
- 導入:
- 1.2
- 作成者:
- Rob Harrop, Juergen Hoeller
- 関連事項:
フィールドサマリー
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明void
"connectOnStartup" がオンになっている場合(これはデフォルトです)、MBeanServerConnection
を準備します。protected ObjectSE
convertResultValueIfNecessary
(ObjectSE result, MethodParameter parameter) プロキシメソッドから戻るために、指定された結果オブジェクトを(属性アクセスまたは操作呼び出しから)指定されたターゲットクラスに変換します。void
destroy()
Bean の破棄時に、包含BeanFactory
によって呼び出されます。protected ObjectSE
doInvoke
(MethodInvocation invocation) 構成された管理対象リソースに呼び出しをルーティングします。特定のエントリを追加または上書きするオプションを使用して、環境へのMap
アクセスをコネクターに設定できるようにします。protected final ClassSE<?>
ターゲット MBean の管理インターフェース、または何も指定されていない場合はnull
を返します。protected ObjectSE
handleConnectFailure
(MethodInvocation invocation, ExceptionSE ex) 接続をリフレッシュし、可能であれば MBean の呼び出しを再試行します。invoke
(MethodInvocation invocation) 構成された管理対象リソースに呼び出しをルーティングします。protected boolean
このクライアントインターセプターがすでに準備されているかどうか、つまりvoid
prepare()
MBeanServerConnection
が構成されていることを確認し、ローカル接続が提供されていない場合、ローカル接続の検出を試みます。void
setAgentId
(StringSE agentId) 検索するMBeanServer
のエージェント ID を設定します。void
setBeanClassLoader
(ClassLoaderSE beanClassLoader) Beanclass loader
SE を Bean インスタンスに提供するコールバック。void
setConnectOnStartup
(boolean connectOnStartup) プロキシが作成時 (true
) にMBeanServer
に接続するか、最初に呼び出されたとき (false
) に接続するかを設定します。void
setEnvironment
(MapSE<StringSE, ?> environment) JMX コネクターの環境を指定します。void
setManagementInterface
(ClassSE<?> managementInterface) ターゲット MBean の管理インターフェースを設定し、MBean 属性の Bean プロパティ setter および getter および MBean 操作の従来の Java メソッドを公開します。void
setObjectName
(ObjectSE objectName) 呼び出しがルーティングされる MBean のObjectName
をObjectName
インスタンスまたはString
として設定します。void
setRefreshOnConnectFailure
(boolean refreshOnConnectFailure) 接続失敗時に MBeanServer 接続をリフレッシュするかどうかを設定します。void
setServer
(MBeanServerConnectionSE server) すべての呼び出しがルーティングされる MBean への接続に使用されるMBeanServerConnection
を設定します。void
setServiceUrl
(StringSE url) リモートMBeanServer
のサービス URL を設定します。void
setUseStrictCasing
(boolean useStrictCasing) 属性に厳密な大文字小文字を使用するかどうかを設定します。
フィールドの詳細
logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
MBeanClientInterceptor
public MBeanClientInterceptor()
メソッドの詳細
setServer
すべての呼び出しがルーティングされる MBean への接続に使用されるMBeanServerConnection
を設定します。setServiceUrl
リモートMBeanServer
のサービス URL を設定します。setEnvironment
JMX コネクターの環境を指定します。getEnvironment
特定のエントリを追加または上書きするオプションを使用して、環境へのMap
アクセスをコネクターに設定できるようにします。environment[myKey]
などを介してエントリを直接指定する場合に便利です。これは、子 Bean 定義にエントリを追加またはオーバーライドする場合に特に役立ちます。setAgentId
検索するMBeanServer
のエージェント ID を設定します。デフォルトはなしです。指定した場合、
"serviceUrl"
プロパティが設定されていない限り、これによりアテンダント MBeanServer の検索が試行されます。setConnectOnStartup
public void setConnectOnStartup(boolean connectOnStartup) プロキシが作成時 (true
) にMBeanServer
に接続するか、最初に呼び出されたとき (false
) に接続するかを設定します。デフォルトはtrue
です。setRefreshOnConnectFailure
public void setRefreshOnConnectFailure(boolean refreshOnConnectFailure) 接続失敗時に MBeanServer 接続をリフレッシュするかどうかを設定します。デフォルトはfalse
です。オンにすると、JMX サーバーのホットリスタートが可能になり、IOException が発生した場合に自動的に再接続して再試行できます。
setObjectName
呼び出しがルーティングされる MBean のObjectName
をObjectName
インスタンスまたはString
として設定します。setUseStrictCasing
public void setUseStrictCasing(boolean useStrictCasing) 属性に厳密な大文字小文字を使用するかどうかを設定します。デフォルトで有効になっています。厳密な大文字小文字を使用する場合、
getFoo()
などの getter を持つ JavaBean プロパティは、Foo
と呼ばれる属性に変換されます。厳密なケーシングを無効にすると、getFoo()
はfoo
に変換されます。setManagementInterface
ターゲット MBean の管理インターフェースを設定し、MBean 属性の Bean プロパティ setter および getter および MBean 操作の従来の Java メソッドを公開します。getManagementInterface
ターゲット MBean の管理インターフェース、または何も指定されていない場合はnull
を返します。setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAware
Beanclass loader
SE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean's
InitializingBean.afterPropertiesSet()
メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAware
のsetBeanClassLoader
- パラメーター:
beanClassLoader
- 所有クラスローダー
afterPropertiesSet
public void afterPropertiesSet()"connectOnStartup" がオンになっている場合(これはデフォルトです)、MBeanServerConnection
を準備します。- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
prepare
public void prepare()MBeanServerConnection
が構成されていることを確認し、ローカル接続が提供されていない場合、ローカル接続の検出を試みます。isPrepared
protected boolean isPrepared()このクライアントインターセプターがすでに準備されているかどうか、つまり、すでにサーバーを検索してすべてのメタデータをキャッシュしているかどうかを返します。invoke
構成された管理対象リソースに呼び出しをルーティングします。- 次で指定:
- インターフェース
MethodInterceptor
のinvoke
- パラメーター:
invocation
- 再ルーティングするMethodInvocation
- 戻り値:
- 再ルーティングされた呼び出しの結果として返された値
- 例外:
ThrowableSE
- ユーザーに伝播された呼び出しエラー- 関連事項:
handleConnectFailure
@Nullable protected ObjectSE handleConnectFailure(MethodInvocation invocation, ExceptionSE ex) throws ThrowableSE 接続をリフレッシュし、可能であれば MBean の呼び出しを再試行します。接続失敗時にリフレッシュするように構成されていない場合、このメソッドは元の例外を単に再スローします。
- パラメーター:
invocation
- 失敗した呼び出しex
- リモート呼び出しで発生した例外- 戻り値:
- 成功した場合、新しい呼び出しの結果値
- 例外:
ThrowableSE
- 失敗した場合、新しい呼び出しによって発生した例外- 関連事項:
doInvoke
構成された管理対象リソースに呼び出しをルーティングします。JavaBean プロパティアクセスをMBeanServerConnection.get/setAttribute
に、メソッド呼び出しをMBeanServerConnection.invoke
に正しくルーティングします。- パラメーター:
invocation
- 再ルーティングするMethodInvocation
- 戻り値:
- 再ルーティングされた呼び出しの結果として返された値
- 例外:
ThrowableSE
- ユーザーに伝播された呼び出しエラー
convertResultValueIfNecessary
@Nullable protected ObjectSE convertResultValueIfNecessary(@Nullable ObjectSE result, MethodParameter parameter) プロキシメソッドから戻るために、指定された結果オブジェクトを(属性アクセスまたは操作呼び出しから)指定されたターゲットクラスに変換します。- パラメーター:
result
-MBeanServer
によって返される結果オブジェクトparameter
- 呼び出されたプロキシメソッドのメソッドパラメーター- 戻り値:
- 変換された結果オブジェクト、または変換が不要な場合は渡されたオブジェクト
destroy
public void destroy()インターフェースからコピーされた説明:DisposableBean
Bean の破棄時に、包含BeanFactory
によって呼び出されます。- 次で指定:
- インターフェース
DisposableBean
のdestroy