脚本中的wsadmin jython脚本调用方法
wsadmin jython script call method in script
有没有办法通过wsadmin程序调用jython脚本中的特定函数?
# BusAndBusMemeber.py
def devCreateBus:
AdminTask.createSIBus('[-bus intjmsbus -description [SIBus intjmsbus] -busSecurity false]')
AdminTask.addSIBusMember('[-bus intjmsbus -node ctgNode01 -server MXServer]')
AdminConfig.save()
def devDeleteBus:
AdminTask.deleteSIBus('[-bus intjmsbus]')
AdminConfig.save()
来自服务器 cmd 提示:
C:\IBM\WebSphere....\bin> wsadmin -conntype SOAP -user myUsername -password
myPassword -lang jython -f BusAndBusMember.py devCreateBus
或
C:\IBM\WebSphere....\bin> wsadmin -conntype SOAP -user myUsername -password
myPassword -lang jython -f BusAndBusMember.py [devCreateBus]
到目前为止,我能够执行 jython 脚本的唯一方法是简单地编写 AdminTasks 脚本。
谢谢。
这有点乱七八糟,但您可以将其附加到您的脚本中:
globals()[sys.argv[0]]()
另一种方法是将您的函数保留在此文件中,并编写第二个 python 脚本来执行调用哪些函数的逻辑:
import sys
execfile("BusAndBusMemeber.py")
if sys.argv[0] == "devCreateBus":
devCreateBus();
else:
print("Unknown arg %s" % sys.argv[0])
您还可以组合 -profile
和 -c
选项,例如:
.wsadmin.sh -profile "functions.py" -c "print devCreateBus()"
它仍将 运行 贯穿整个 -profile 脚本,因此您可能只需要其中的函数而不是“main”。
有没有办法通过wsadmin程序调用jython脚本中的特定函数?
# BusAndBusMemeber.py
def devCreateBus:
AdminTask.createSIBus('[-bus intjmsbus -description [SIBus intjmsbus] -busSecurity false]')
AdminTask.addSIBusMember('[-bus intjmsbus -node ctgNode01 -server MXServer]')
AdminConfig.save()
def devDeleteBus:
AdminTask.deleteSIBus('[-bus intjmsbus]')
AdminConfig.save()
来自服务器 cmd 提示:
C:\IBM\WebSphere....\bin> wsadmin -conntype SOAP -user myUsername -password myPassword -lang jython -f BusAndBusMember.py devCreateBus
或
C:\IBM\WebSphere....\bin> wsadmin -conntype SOAP -user myUsername -password myPassword -lang jython -f BusAndBusMember.py [devCreateBus]
到目前为止,我能够执行 jython 脚本的唯一方法是简单地编写 AdminTasks 脚本。
谢谢。
这有点乱七八糟,但您可以将其附加到您的脚本中:
globals()[sys.argv[0]]()
另一种方法是将您的函数保留在此文件中,并编写第二个 python 脚本来执行调用哪些函数的逻辑:
import sys
execfile("BusAndBusMemeber.py")
if sys.argv[0] == "devCreateBus":
devCreateBus();
else:
print("Unknown arg %s" % sys.argv[0])
您还可以组合 -profile
和 -c
选项,例如:
.wsadmin.sh -profile "functions.py" -c "print devCreateBus()"
它仍将 运行 贯穿整个 -profile 脚本,因此您可能只需要其中的函数而不是“main”。