2016-09-28 5 views
0

Не могли бы вы помочь мне получить текущее значение ActiveCount (ThreadPoolModule) в websphere?Jython, websphere: Операция getStatsObject не в ModelMBeanInfo

Ниже вы можете найти свой код и ошибку, выдаваемую:

perfName = AdminControl.completeObjectName ('name=WebContainer,type=ThreadPool,process=G5-WLS,*') 
perfOName = AdminControl.makeObjectName (perfName) 
sigs = ['javax.management.ObjectName', 'java.lang.Boolean'] 
jvmName = AdminControl.completeObjectName ('name=WebContainer,type=ThreadPool,process=G5-WLS,*') 
params = [AdminControl.makeObjectName (jvmName), java.lang.Boolean ('false')] 
jvmStats=AdminControl.invoke_jmx (perfOName, 'getStatsObject', params, sigs) 
ActiveCount=jvmStats.getStatistic('ActiveCount').getCurrent() 

Ошибка в строке 6:

wsadmin> jvmStats=AdminControl.invoke_jmx (perfOName, 'getStatsObject', params, sigs) 
WASX7015E: Exception reçue lors de l'exécution de la commande : " jvmStats=AdminControl.invoke_jmx (perfOName, 'getStatsObject', params, sigs)"; informations sur l'exception : 
javax.management.MBeanException 
javax.management.ServiceNotFoundException: Operation getStatsObject not in ModelMBeanInfo 

ответ

0

К сожалению, я нашел ответ:

perfName = AdminControl.completeObjectName ('type=Perf,process=G5-WLS,*') 
perfOName = AdminControl.makeObjectName (perfName) 
sigs = ['javax.management.ObjectName', 'java.lang.Boolean'] 
threadPoolName = AdminControl.completeObjectName ('name=WebContainer,type=ThreadPool,process=G5-WLS,*') 
params = [AdminControl.makeObjectName (threadPoolName), java.lang.Boolean ('false')] 
jvmStats=AdminControl.invoke_jmx (perfOName, 'getStatsObject', params, sigs) 
ActiveCount=jvmStats.getStatistic('ActiveCount').getCurrent() 

И результат:

wsadmin>print ActiveCount 
1