我需要使用以下模式构建字符串:
<Server>;<Node>;<Cell>;<Version>;<MessageListenerThreadPool-ID>;<ORBThreadPool-
ID>;<WebcontainerThreadPool-ID>;<TCPChannelsThreadPool-ID>
所以我需要编写几个标准线程池的ID,但我找不到任何有关线程池Id的信息。我发现只有线程池名称。可能有人知道我在哪里可以找到有关线程池ID的信息?
谢谢!
P.S。我正在使用Websphere 7.x
答案 0 :(得分:2)
使用JMX获取管理对象(JSR-77:J2EETM Management)。从Websphere获取它们的示例在http://www.ibm.com/developerworks/websphere/techjournal/0402_qiao/0402_qiao.html给出。
This API将帮助您访问JXM。
首先查找是否可以通过Administrative console访问对象。然后查看通过JMX API调用从服务器接收的对象列表。
答案 1 :(得分:2)
似乎没有与JMX对象关联的线程池ID;只是一个线程池名称。您可以编写类似于下面的脚本来列出线程池及其属性。
wsadmin>pools = AdminConfig.list('ThreadPool').split()
wsadmin>for pool in pools:
wsadmin> print pool
wsadmin> print
wsadmin>
Default(cells/cluentiusNode12Cell/nodes/node2/server/provider1|server.xml#ThreadPool_1183121908658)
HAManagerService.Pool(cells/cluentiusNode12Cell/nodes/node2/servers/provider1|hamanagerservice.xml#ThreadPool_1080665401693)
Message.Listener.Pool(cells/cluentiusNode12Cell/nodes/node2/servers/provider1|server.xml#ThreadPool_1183121908663)
ORB.thread.pool(cells/cluentiusNode12Cell/nodes/node2/servers/provider1|server.xml#ThreadPool_1183121908656)
... snip ...
WMQJCAResourceAdapter(cells/cluentiusNode12Cell/nodes/node2/servers/provider1|server.xml#ThreadPool_1332907301375)
WebContainer(cells/cluentiusNode12Cell/nodes/node2/servers/provider1|server.xml#ThreadPool_1183121908657)
server.startup(cells/cluentiusNode12Cell/nodes/node2/servers/provider1|server.xml#ThreadPool_1183121908662)
wsadmin>print AdminConfig.show(pools[9])
[customProperties []]
[inactivityTimeout 60000]
[isGrowable false]
[maximumSize 10]
[minimumSize 5]
[name WebContainer]
wsadmin>
show()命令显示您可以使用的属性。
答案 2 :(得分:0)
我找到了回答我的问题。
可以从 Threadpool 节点下的 JConsole 获取线程池ID。有许多线程池,并且列出的线程池Mbeans有一个 objectName 属性,如下所示:
的WebSphere:名称= ORB.thread.pool,过程= server1的,平台= dynamicproxy,.......#server.xml中ThreadPool_1183122130078,细胞= someCell,规格= 1.0
在这种情况下,线程池ID为 1183122130078 。
谢谢大家。