Arrêt / relance de l'application ITIM en ligne de commande

Arrêt / relance de l'application ITIM en ligne de commande

Pour des besoins de sauvegarde cohérente de l'environnement ITIM, on a parfois besoin d'arrêter l'application ITIM, sans forcément arrêter le serveur WebSphere, qui est généralement supervisé par l'exploitation.

Dans un contexte de script de production, il est possible d'arrêter / démarrer une application via l'utilitaire wsadmin fourni avec WebSphere.
Cet utilitaire permet d'interagir avec le serveur d'application via un langage de script (jython notamment). Voici par exemple le script python et le shell qui encapsule ce script, qui permet d'arrêter et relancer l'application ITIM (on une autre).

Lanceur shell jython

Ce shell permet de lancer un script python ou de lancer wsadmin en interactif, selon la présence ou non d'une option.

#!/bin/bash
#
# Run jython
if [ "$1" != "" ] ; then
  /product/websphere/AppServer/bin/wsadmin.sh -lang jython -f $*
else
  echo "Mode interactif"
  /product/websphere/AppServer/bin/wsadmin.sh -lang jython
fi

Le script lance l'utilitaire wsadmin.sh, avec le langage python.

Script python d'arrêt / relance

Le script python de gestion d'application est un script python, qui accepte 2 options :

  • Action à réaliser : start ou stop
  • Nom de l'application à gérer
# Application Manager with wsadmin
# -------------------------------------------------------------------------------
#    Starts / Stops a Business Level Application on WebSphere Application Server
#
#  Mainly used for ITIM
# -------------------------------------------------------------------------------
import sys

if len(sys.argv) != 2:
  print " " 
  print "Usage: AppManager [start|stop] Application, where Application is the name of the application you want to start or stop"
  print " " 
  sys.exit(-1)

adminAction = sys.argv[0]
my_AppName = sys.argv[1]

print "-------------------------------------------------"
print "Asked to ",adminAction," application ",my_AppName
print "-------------------------------------------------"

if adminAction=="start":
  print "Starting application",my_AppName
  AdminBLA.startBLA(my_AppName)

if adminAction=="stop":
  print "Stopping application",my_AppName
  AdminBLA.stopBLA(my_AppName)

print "End of AppManager"

Utilisation pour ITIM

L'arrêt de l'application ITIM s'effectue avec la ligne de commande :

./jython AppManager.py stop ITIM

Le démarrage de l'application s'effectue, de la même manière :

./jython AppManager.py start ITIM

Le résultat du lancement de cette ligne est :

./jython  AppManager.py start ITIM
WASX7209I: Connected to process "server1" on node node01 using SOAP connector;  The type of process is: UnManagedProcess
WASX7303I: The following options are passed to the scripting environment and are available as arguments that are stored in the argv variable: "[start, ITIM]"
-------------------------------------------------
Asked to  start  application  ITIM
-------------------------------------------------
Starting application ITIM
---------------------------------------------------------------
---------------------------------------------------------------
 AdminBLA:               Start a business level application 
 BLA ID (or BLA name):   ITIM
 Usage: AdminBLA.startBLA("ITIM") 
 Return: State that the business-level application is started.
---------------------------------------------------------------
 
 
End of AppManager

Note : il faut lancer ce script avec un utilisateur disposant de droits suffisants : soit l'utilisateur wasadm (le propriétaire des répertoires /product/websphere) ou le compte root.

Catégorie