IBM Websphere - wsadmin 必须传递的参数
我有一个server.bat文件,用来通过wsadmin运行server.py文件。这个文件是现成的,我对Python和WAS服务器的了解不多。
我通常是这样运行的:- %BIN-DIR% wsadmin -lang jython username %USER% password %pass% %ENV% %PROP_FILE%> %SYS_LOG_FILE%
%BIN-DIR%指的是IBM/AppServer/Profile/Dev_dmgr_node/bin这个路径。
当我运行时如果漏掉了某个参数,server.py会有一个检查条件,会显示“缺少参数”。但是当我提供了所有必需的参数时,.bat文件就直接运行并关闭了,什么都没有显示,连我为了调试而在第一行加的PRINT语句(在缺少参数时会显示)也没有出现。
有没有人能告诉我,为什么在通过wsadmin运行时文件什么都不显示?我需要在没有任何工具的情况下调试server.py。如果有人能帮我解答以下问题,我会非常感激: * 需要哪些参数?如果是用户自定义的,我该在哪里更改输入参数? * Websphere应用服务器是如何执行输入的.PY文件的? * 为什么/如何我无法进行调试?
注意:server.py文件的主要功能是通过控制台使用DMGR访问获取应用程序的服务器/节点详细信息。
1 个回答
这个文件看起来是什么样子的?(server.py)还有server.bat呢?比如我在一个bat文件里这样写:
set WAS_HOME=D:\IBM\WEBSPHERE\APPSERVER
CD D:\TEMP\SCRIPTS\DEVTEST
D:
%WAS_HOME%\bin\wsdamin.bat -username wasadmin -password mypasswordofcourse -f checkbus.py
而我的checkbus.py是你可以从IBM下载的。它的内容是这样的:
execfile('wsadminlib.py')
serverStatus()
print ('MESSAGING ENGINES:')
busname = 'intjmsbusin'
scope = 'cluster'
nodename = None
servername = None
clusternum = '000'
for clustername in ['CLUSTER2']:
if isMeStarted(busname, scope, nodename, servername, clustername, clusternum) == True:
print "\t%-18s %-15s" % (clustername,'running')
else:
print "\t%-18s %-15s" % (clustername,'stopped')
busname = 'intjmsbusout'
for clustername in ['CLUSTER1']:
if isMeStarted(busname, scope, nodename, servername, clustername, clusternum) == True:
print "\t%-18s %-15s" % (clustername,'running')
else:
print "\t%-18s %-15s" % (clustername,'stopped')