試圖製作一個非常簡單的jython腳本來從websphere獲取基本的PMI數據。獲得JVM的數據,如自由堆等是簡單的(作品)使用jython從WebSphere PMI數據獲取webcontainer
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)
但後來我嘗試做了Web容器線程池類似的東西,它失敗
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中
任何想法?我特別只想Web容器線程池(最好是隻有活動的線程...但後來我可以篩選出)
OK我得到了答案,從一個同事到最後。不知道爲什麼我決定開始使用不同的線程池方法...但返回到我的JVM方法我結束了一個工作腳本:) – Seer