wsadmin + jython重启WAS appserver

时间:2012-11-21 13:09:58

标签: websphere jython websphere-7 wsadmin server-administration

是否可以使用wsadmin(jacl / jython)停止/启动WAS appserver。我想在配置文件中检测所有缓存,然后重新启动WAS appserver。我使用wsadmin作为独立的。

2 个答案:

答案 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)