Попытка сделать действительно простой скрипт jython для получения основных данных PMI из веб-сферы. Получение данных 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 (и желательно только активные потоки... но я могу отфильтровать это позже)