Mise à jour des applications installées à l'aide de l'outil de scriptage wsadmin
Utilisation de l'outil wsadmin et du scriptage pour mettre à jour les applications installées sur un serveur d'applications.
Pourquoi et quand exécuter cette tâche
Les commandes update et updateinteractive prennent toutes deux en charge un ensemble d'options. Vous pouvez également obtenir une liste des options prises en charge pour un fichier EAR (Enterprise Archive) à l'aide de la commande options. Par exemple :
$AdminApp options
print AdminApp.options()
Vous pouvez définir ou mettre à jour une valeur de configuration en utilisant les options en mode de traitement par lot. Pour identifier l'objet de configuration à définir ou mettre à jour, les valeurs des zones en lecture seule sont utilisées pour rechercher l'objet de configuration correspondant. Toutes les valeurs des zones en lecture seule doivent correspondre à un objet de configuration existant pour que la commande aboutisse.
Effectuez les opérations ci-après pour mettre à jour une application.
Procédure
Que faire ensuite
Un message de réussite est renvoyé si le système met correctement à jour l'application. Toutefois, les étapes peuvent aboutir avant que le système n'extraie chaque fichier binaire. Dans un environnement de déploiement réseau, par exemple, des fichiers binaires sont extraits après la fin de la synchronisation du nœud. Vous ne pouvez pas démarrer l'application tant que le système n'a pas extrait tous les fichiers binaires. Utilisez les commandes isAppReady et getDeployStatus de l'objet AdminApp pour vérifier que le système a extrait les fichiers avant de démarrer l'application.
La commande isAppReady renvoie la valeur true si le système est prêt à démarrer l'application, sinon elle renvoie la valeur false. Si l'application ne peut pas être démarrée, le système peut développer les fichiers binaires d'applications. Un script qui met à jour une application puis la démarre crée en général une boucle autour d'un appel à isAppReady jusqu'à recevoir une valeur true avant de tenter de lancer l'application, comme le montre l'exemple suivant :
import time
result = AdminApp.isAppReady('application1')
while (result == "false"):
### Attendre 5 secondes avant de revérifier
time.sleep(5)
result = AdminApp.isAppReady('application1')
print("Starting application...")
set result [$AdminApp isAppReady application1]
while {$result == "false"} {
### Attendre 5 secondes avant de revérifier
after 5000
set result [$AdminApp isAppReady application1]
}
puts "Démarrage de l'application..."
AdminApp.getDeployStatus('app1')
L'exécution de la commande getDeployStatus, où app1 correspond à DefaultApplication, permet d'afficher des informations d'état sur DefaultApplication, qui se présentent comme suit :
ADMA5071I : La vérification de l'état de la distribution a commencé pour l'application DefaultApplication.
WebSphere:cell=myCell01,node=myNode01,distribution=unknown,expansion=unknown
ADMA5011I : Le nettoyage du répertoire temp pour l'application DefaultApplication est terminé.
ADMA5072I : Vérification de l'état de la distribution terminée pour l'application DefaultApplication.
WebSphere:cell=myCell01,node=myNode01,distribution=unknown,expansion=unknown