2012-11-21 27 views
5

Ist es möglich, WAS-Anwendungsserver mit wsadmin (jacl/jython) zu stoppen/starten. Ich möchte alle Caches im Profil erkennen und dann den WAS-Anwendungsserver neu starten. Ich verwende wsadmin als eigenständiges Programm.wsadmin + jython restart WS-Anwendungsserver

+0

Warum Sie Befehl stop und start nicht? – trikelef

+0

Sie haben nicht angegeben, ob Ihre Frage für eine WebSphere ND-Bereitstellung oder einen eigenständigen Anwendungsserver gilt und von wo Sie wsadmin (lokal oder remote) ausführen möchten. –

Antwort

7

Von wsadmin Sie einen Befehl (mit Jython) ausgeben kann:

AdminControl.invoke(AdminControl.queryNames('WebSphere:*,type=Server,node=%s,process=%s' % ('YourNodeName', 'YourServerName')), 'restart') 

Arbeiten mit WAS Basis & ND. Mit ND haben Sie eine weitere Option:

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']) 
0

Schauen Sie sich die wsadminlib script. Es verfügt über mehr als 500 Methoden, mit denen Sie bestimmte wsadmin-Aufgaben ausführen können. Sehen Sie sich auch wsadminlib blog an - Sie werden den Powerpoint auf dieser Seite unbedingt sehen wollen, um einen Überblick über die Nutzung zu erhalten.

Sie geben nicht an, welche Caches Sie löschen möchten. Wenn Sie dynacache löschen möchten, bietet wsadminlib clearDynaCache, clearAllProxyCaches und andere sowie Server-Neustartmethoden an.

Beispiel Nutzung:

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)