クラス 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 ObjectSEconvertResultValueIfNecessary(ObjectSE result, MethodParameter parameter) プロキシメソッドから戻るために、指定された結果オブジェクトを(属性アクセスまたは操作呼び出しから)指定されたターゲットクラスに変換します。voiddestroy()Bean の破棄時に、包含BeanFactoryによって呼び出されます。protected ObjectSEdoInvoke(MethodInvocation invocation) 構成された管理対象リソースに呼び出しをルーティングします。特定のエントリを追加または上書きするオプションを使用して、環境へのMapアクセスをコネクターに設定できるようにします。protected final ClassSE<?>ターゲット MBean の管理インターフェース、または何も指定されていない場合はnullを返します。protected ObjectSEhandleConnectFailure(MethodInvocation invocation, ExceptionSE ex) 接続をリフレッシュし、可能であれば MBean の呼び出しを再試行します。invoke(MethodInvocation invocation) 構成された管理対象リソースに呼び出しをルーティングします。protected booleanこのクライアントインターセプターがすでに準備されているかどうか、つまりvoidprepare()MBeanServerConnectionが構成されていることを確認し、ローカル接続が提供されていない場合、ローカル接続の検出を試みます。voidsetAgentId(StringSE agentId) 検索するMBeanServerのエージェント ID を設定します。voidsetBeanClassLoader(ClassLoaderSE beanClassLoader) Beanclass loaderSE を Bean インスタンスに提供するコールバック。voidsetConnectOnStartup(boolean connectOnStartup) プロキシが作成時 (true) にMBeanServerに接続するか、最初に呼び出されたとき (false) に接続するかを設定します。voidsetEnvironment(MapSE<StringSE, ?> environment) JMX コネクターの環境を指定します。voidsetManagementInterface(ClassSE<?> managementInterface) ターゲット MBean の管理インターフェースを設定し、MBean 属性の Bean プロパティ setter および getter および MBean 操作の従来の Java メソッドを公開します。voidsetObjectName(ObjectSE objectName) 呼び出しがルーティングされる MBean のObjectNameをObjectNameインスタンスまたはStringとして設定します。voidsetRefreshOnConnectFailure(boolean refreshOnConnectFailure) 接続失敗時に MBeanServer 接続をリフレッシュするかどうかを設定します。voidsetServer(MBeanServerConnectionSE server) すべての呼び出しがルーティングされる MBean への接続に使用されるMBeanServerConnectionを設定します。voidsetServiceUrl(StringSE url) リモートMBeanServerのサービス URL を設定します。voidsetUseStrictCasing(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
インターフェースからコピーされた説明:BeanClassLoaderAwareBeanclass loaderSE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean'sInitializingBean.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()インターフェースからコピーされた説明:DisposableBeanBean の破棄時に、包含BeanFactoryによって呼び出されます。- 次で指定:
- インターフェース
DisposableBeanのdestroy