是否可以使用wsadmin(jacl / jython)停止/启动WAS appserver。我想在配置文件中检测所有缓存,然后重新启动WAS appserver。我使用wsadmin作为独立的。
答案 0 :(得分:7)
从wsadmin你可以发出一个命令(使用Jython):
AdminControl.invoke(AdminControl.queryNames('WebSphere:*,type=Server,node=%s,process=%s' % ('YourNodeName', 'YourServerName')), 'restart')
适用于WAS Base& ND。 使用ND,您还有另一种选择:
AdminControl.invoke(AdminControl.queryNames('WebSphere:*,type=Server,node=%s,process=%s' % ('YourNodeName', 'YourServerName')), 'stop')
# now your server is stopped, you can do any cleanup
# and then start the server with NodeAgent
AdminControl.invoke(AdminControl.queryNames('WebSphere:*,type=NodeAgent,node=%s' % 'YourNodeName'), 'launchProcess', ['YourServerName'], ['java.lang.String'])
答案 1 :(得分:0)
查看wsadminlib script。它为您编写了500多种方法来执行特定的wsadmin任务。另请查看相关的wsadminlib blog - 您肯定希望查看此网站上的powerpoint以了解使用情况。
您没有指定要清除的缓存。如果要清除dynacache,wsadminlib提供clearDynaCache,clearAllProxyCaches和其他服务器重启方法。
使用示例:
import sys
execfile('/opt/software/portalsoftware/wsadminlib/wsadminlib.py')
clearAllProxyCaches()
for (nodename,servername) in listAllAppServers():
clearDynaCache( nodename, servername, dynacachename )
save()
maxwaitseconds=300
restartServer( nodename, servername, maxwaitseconds)