websphere から基本的な PMI データを取得するための非常に単純な jython スクリプトを作成しようとしています。フリーヒープなどのJVMデータの取得は簡単です(そして機能します)
perfName = AdminControl.completeObjectName ('type=Perf,process=PTEIRMW_APPSERVER801,*')
perfOName = AdminControl.makeObjectName (perfName)
jvmName = AdminControl.completeObjectName ('type=JVM,process=PTEIRMW_APPSERVER801,*')
params = [AdminControl.makeObjectName (jvmName), java.lang.Boolean ('false')]
sigs = ['javax.management.ObjectName', 'java.lang.Boolean']
AdminControl.invoke_jmx (perfOName, 'getStatsObject', params, sigs)
しかし、その後、WebContainer スレッドプールに対して同様のことを試みましたが、失敗しました
threadPoolName = AdminControl.completeObjectName('name=WebContainer,type=ThreadPool,process=PTEIRMW_APPSERVER801,*')
threadPoolOName = AdminControl.makeObjectName (threadPoolName)
params = [AdminControl.makeObjectName (threadPoolName), java.lang.Boolean ('false')]
sigs = ['javax.management.ObjectName', 'java.lang.Boolean']
AdminControl.invoke_jmx (threadPoolOName, 'getStatsObject', params, sigs)
エラーは
WASX7015E: コマンドの実行中に例外が発生しました: "AdminControl.invoke_jmx (threadPoolOName, 'getStatsObject', params, sigs)"; 例外情報: javax.management.MBeanException javax.management.ServiceNotFoundException: 操作 getStatsObject が ModelMBeanInfo にありません
何か案は?私は特にWebContainerスレッドプールのみが必要です(できればアクティブなスレッドのみが必要ですが、後でそれを除外できます)