4 votes

Comment installer (ou désinstaller) un EAR dans WebSphere Application Server v.8.5 via la ligne de commande, en utilisant wsadmin ?

Plutôt que de devoir passer par le console d'administration ce qui est fastidieux, je préfère installer et désinstaller mon application Java (EAR) via la ligne de commande, sauvegardée comme raccourci dans Windows.

Veuillez noter que j'utilise WebSphere Application Server v8.5 en Fenêtres J'ai donc besoin de la DOS par opposition aux commandes Unix des personnes.

3voto

Haxiel Points 613

Créez un fichier texte, par exemple installApplication.py et insérer les deux lignes suivantes :

AdminApp.install('<path_to_application>/application.ear','[-node nodeName -cell cellName -server serverName]')
AdminConfig.save()

Modifiez les valeurs de la commande en fonction de votre serveur et enregistrez le fichier. [Note : Les commandes ci-dessus sont valables pour un environnement autonome.]

Créez un nouveau fichier, par exemple installApplication.bat . Ajoutez la commande suivante pour invoquer wsadmin en utilisant le fichier script ci-dessus :

<path_to_WAS_profile>/bin/wsadmin.bat -lang jython -f <path_to_py_file>/installApplication.py

Si la sécurité administrative est activée, vous serez invité à vous authentifier lorsque vous exécuterez la commande.


Lors de la désinstallation de l'application, le uninstallApplication.py script ressemble à ce qui suit :

AdminApp.uninstall('<application_name>')
AdminConfig.save()

Et l'appeler comme :

<path_to_WAS_profile>/bin/wsadmin.bat -lang jython -f <path_to_py_file>/uninstallApplication.py

Dans un environnement de déploiement en réseau, il est probable que vous déployiez votre application dans un cluster. L'application installApplication.py script contient alors le code suivant :

AdminApp.install('<path_to_application>/application.ear', '[-cluster cluster1]')
AdminConfig.save()
AdminNodeManagement.syncActiveNodes()

Vous pouvez ensuite appeler le wsadmin.bat à partir du dossier de profil du Deployment Manager.

Les commandes de désinstallation restent les mêmes pour les environnements autonomes et les environnements de déploiement en réseau. En ajoutant la ligne de synchronisation des nœuds, nous avons :

AdminApp.uninstall('<application_name>')
AdminConfig.save()
AdminNodeManagement.syncActiveNodes()

3voto

Andy Guibert Points 14403

Pour lancer une commande unique sur wsadmin, vous pouvez procéder comme suit

wsadmin -lang jython -c <command>

Pour exécuter un fichier script de plusieurs commandes wsadmin, vous pouvez procéder comme suit :

wsamdin -lang jython -f <script_file_name>

Pour connaître la commande à exécuter pour installer votre application, installez une application une fois à l'aide de l'AdminConsole, puis, sur le côté droit, sous "Aide à la commande", cliquez sur "Afficher la commande de script administratif pour la dernière action". C'est très puissant et cela vous montrera la commande wsadmin pour tout ce que la console d'administration WAS vient de faire.

Par exemple, lorsque j'installe une application appelée myapp.war en utilisant la console d'administration et en affichant l'aide à la commande, j'obtiens cette très longue commande :

AdminApp.install('myapp.ear', '[ -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -appname myapp-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -asyncRequestDispatchType DISABLED -nouseAutoLink -noenableClientModule -clientMode isolated -novalidateSchema -MapModulesToServers [[ myapp_Web myapp.war,WEB-INF/web.xml WebSphere:cell=myCell,node=myNode,server=server1 ]] -MapWebModToVH [[ myapp_Web myapp.war,WEB-INF/web.xml default_host ]]]' ) 

En résumé :
Effectuez les opérations une fois dans l'Admin Console pour obtenir la commande wsadmin que l'Admin Console elle-même utilise, puis copiez/collez cette commande dans un script ou un raccourci ou autre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X