我正在编写一个代码来启动,停止,取消部署并在weblogc上部署我的应用程序。
我的组件需要部署在少数托管服务器上。
当我手动执行新部署时,我可以并行启动和停止服务器,方法是勾选多个框并选择启动和停止向下停止。见下文。
但是从WLST尝试时,我可以一次在一台服务器上执行此操作。
例如:
.jar
有没有办法可以在一次命令中开始停止多个服务器?
答案 0 :(得分:1)
而不是直接启动和停止服务器create tasks,而是等待它们完成。
e.g。
tasks = []
for server in cmo.getServerLifeCycleRuntimes():
# to shut down all servers
if (server.getName() != ‘AdminServer’ and server.getState() != ‘RUNNING’ ):
tasks.append(server.start())
#or to start them up:
#if (server.getName() != ‘AdminServer’ and server.getState() != ‘SHUTDOWN’ ):
# tasks.append(server.shutdown())
#wait for tasks to complete
while len(tasks) > 0:
for task in tasks:
if task.getStatus() != ‘TASK IN PROGRESS’ :
tasks.remove(task)
java.lang.Thread.sleep(5000)
答案 1 :(得分:1)
我知道这是一篇旧文章,今天我正在阅读Martin Heinzl写的《 Advanced WebLogic Server Automation》这本书,因此在第282页中我发现了这一点。
def startCluster(clustername):
try:
start(clustername, 'Cluster')
except Exception, e:
print 'Error while starting cluster', e
dumpStack()
我尝试过,它同时启动了托管服务器。
请记住,必须首先启动AdminServer,并且您的脚本必须先连接到AdminServer,然后才能尝试。
也许这对您没有用,因为服务器应该位于群集中,但是我想与大家分享一下:)