Pre*_*red 2 python websphere jython
当尝试获取 WebSphere Application Server 中应用程序的状态时,我希望有多个返回的 mbean。然而,WAS 只返回第一个结果并丢弃其余的结果。
[wasadmin@servername01 ~]$ Run_wsadmin.sh -f wsadmin_Check_App_Status.py
WASX7209I: Connected to process "dmgr" on node PRDDMGR using SOAP connector; The type of process is: DeploymentManager
WASX7026W: String "type=Application,name=AMTApp,*" corresponds to 6 different MBeans; returning first one.
Run Code Online (Sandbox Code Playgroud)
我正在运行的脚本如下所示:
app_name = AppName
app_status = AdminControl.completeObjectName('type=Application,name=' + app_name + ',*').split('\n')
for status in app_status :
print( status )
# end of For status in app_status
Run Code Online (Sandbox Code Playgroud)
WebSphere 中是否有一些设置,或者我是否需要将一些特殊的库导入到我的脚本中?
根据文档AdminControl.completeObjectName()
使用completeObjectName 命令创建基于片段的完整ObjectName 值的字符串表示形式。此命令不与服务器通信以查找匹配的 ObjectName 值。如果系统找到多个与片段匹配的 MBean,该命令将返回第一个。
所以该函数的行为符合预期。
相反:
在这种情况下,听起来您想使用AdminControl.queryNames(),它是为返回与您的查询匹配的结果列表而构建的。
例如:
app_name = AppName
app_status = AdminControl.queryNames('type=Application,name=' + app_name + ',*').split('\n')
for status in app_status :
print( status )
Run Code Online (Sandbox Code Playgroud)
来源:使用 wsadmin 脚本编写的 AdminControl 对象的命令
| 归档时间: |
|
| 查看次数: |
1410 次 |
| 最近记录: |