簡體   English   中英

IBM WebSphere Application Server wsadmin僅返回腳本中6個中的第一個結果

[英]IBM WebSphere Application Server wsadmin returning only first result out of 6 in script

當嘗試在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.

我正在運行的腳本如下所示:

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

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 )

源: 使用wsadmin腳本的AdminControl對象的命令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM