我通常使用shellscript,但我正在为当前的客户端使用Jython。我需要从WebSphere中的失败事件中提取和显示业务数据,我无法弄清楚如何去做。
到目前为止我的代码是
green='\033[0;32m'
cyan='\033[0;36m'
clear='\033[0m'
##########################################################################
import time
today=time.asctime().split(' ')
objstr = AdminControl.completeObjectName('WebSphere:*,type=FailedEventManager')
obj = AdminControl.makeObjectName(objstr)
fecount = AdminControl.invoke(objstr,"getFailedEventCount")
msglist = AdminControl.invoke_jmx(obj,'getAllFailedEvents',[0],['int'])
i=0
for fe in msglist:
i+=1
ftd=str(fe.getFailureDateTime()).split(' ')
if ftd[1]==today[1] and ftd[2]==today[2] and ftd[5]==today[4]:
col=green
else:
col=cyan
fstr="%4d: %-46s "+col+"%s"+clear
print fstr % (i, fe.getMsgId(), fe.getFailureDateTime() )
显示消息ID和事件的时间戳。但我已经浏览了网络,无法弄清楚如何从实际中从每个失败事件的业务数据中提取特定参数。
如果对Jython有更多了解的人能够指出我正确的方向,我会很感激。
由于
道格拉斯
答案 0 :(得分:1)
不确定你是否得到了答案。 发布我所知道的帮助谁正在寻找: 您可以使用getFailedEventParameters获取失败事件的业务数据。
scaDetail = AdminControl.invoke_jmx(obj,'getEventDetailForSCA',[event], ['com.ibm.wbiserver.manualrecovery.FailedEvent'])
eventDetailParameter = scaDetail.getFailedEventParameters()
for failedParameter in eventDetailParameter:
print failedParameter.getName()
print failedParameter.getType()
print failedParameter.getValue()