Existe-t-il des moyens simples de voir quelles guerres ont été déployées dans Jboss AS et d'en annuler le déploiement? Je veux le faire depuis la ligne de commande.
J'ai essayé d'utiliser jmx mais je continue à avoir une exception disant "org.jboss.util.NestedRuntimeException: jmx not bound;" Je préférerais le faire de manière à ne pas devoir arrêter et démarrer le serveur d'applications.
Vous pouvez aborder cela de trois manières différentes dans JBoss Application Server 7 :
En tant qu'interface graphique, la console de gestion est la plus visuelle des trois. Vous pouvez voir la liste des applications déployées dans la fenêtre Déploiement. Vous avez la possibilité de désactiver et de supprimer les applications déployées répertoriées ici. Cette capture d'écran provient de AS7.0.2, et certaines fenêtres ont changé et seront modifiées avec l'ajout d'onglets, mais la fonctionnalité générale reste la même.
L'interface de ligne de commande de gestion est un nouvel ajout à AS7. La CLI expose de nombreuses fonctionnalités de bas niveau et constitue un outil puissant une fois familiarisé avec les commandes et les opérations. Comme vous pouvez vous en douter, vous pouvez exécuter help
pour afficher les commandes ou exécuter <commandname> --help
pour plus d'informations sur une commande spécifique. deploy
et undeploy
sont deux commandes utiles. Nous allons donc examiner leurs informations d'aide. Je donnerai des exemples Linux, mais vous pouvez insérer votre modèle de système d’exploitation si nécessaire.
Voici deploy
:
[standalone@localhost:9999 /] deploy --help
SYNOPSIS
deploy (file_path [--name=deployment_name] [--runtime_name=deployment_runtime_name] [--force] | --name=deployment_name) [--server-groups=group_name (,group_name)* | --all-server-groups]
DESCRIPTION
Deploys the application designated by the file_path or enables an already existing
but disabled in the repository deployment designated by the name argument.
If executed w/o arguments, will list all the existing deployments.
ARGUMENTS
file_path - the path to the application to deploy. Required in case the deployment
doesn't exist in the repository.
The path can be either absolute or relative to the current directory.
--name - the unique name of the deployment. If the file path argument is specified
the name argument is optional with the file name been the default value.
If the file path argument isn't specified then the command is supposed to
enable an already existing but disabled deployment, and in this case the
name argument is required.
--runtime_name - optional, the runtime name for the deployment.
--force - if the deployment with the specified name already exists, by default,
deploy will be aborted and the corresponding message will printed.
Switch --force (or -f) will force the replacement of the existing deployment
with the one specified in the command arguments.
--server-groups - comma separated list of server group names the deploy command should apply to.
Either server-groups or all-server-groups is required in the domain mode.
This argument is not applicable in the standalone mode.
--all-server-groups - indicates that deploy should apply to all the available server groups.
Either server-groups or all-server-groups is required in domain mode.
This argument is not applicable in the standalone mode.
-l - in case none of the required arguments is specified the command will
print all of the existing deployments in the repository. The presence of the -l switch
will make the existing deployments printed one deployment per line, instead of
in columns (the default).
Et voici undeploy
:
[standalone@localhost:9999 /] undeploy --help
SYNOPSIS
undeploy name [--server-groups=group_name (,group_name)* | --all-relevant-server-groups] [--keep-content]
DESCRIPTION
Undeploys the deployment with the given name and, depending on the arguments, removes
its content from the repository.
If the deployment name isn't specified, prints the list of all the existing deployments.
ARGUMENTS
name - the name of the deployment to undeploy.
--server-groups - comma separated list of server group names the undeploy command should apply to.
Either server-groups or all-relevant-server-groups is required in the domain mode.
This argument is not applicable in the standalone mode.
--all-relevant-server-groups - indicates that undeploy should apply to all the server groups
in which the deployment is enabled.
Either server-groups or all-relevant-server-groups is required in domain mode.
This argument is not applicable in the standalone mode.
--keep-content - by default undeploy, besides disabling the deployment, also removes its
content from the repository. The presence of --keep-content will only disable
the deployment w/o removing its content from the repository.
This argument can be used in both standalone and domain modes.
-l - in case the deployment name isn't specified, the presence of the -l switch
will make the existing deployments printed one deployment per line, instead of
in columns (the default).
L'exécution de la commande deploy
ou undeploy
sans aucun argument listera toutes les applications disponibles. Ainsi, votre flux de travail pour vous connecter à la CLI et annuler le déploiement d'une application ressemblerait à ceci (simplifié):
Remplacez le répertoire de EAP_HOME par le dossier bin:
[user@home EAP_HOME]$ cd bin
Exécutez le script de connexion CLI:
[user@Host bin]$ ./jboss-admin.sh
You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
Indiquez à l'API de se connecter (ceci peut également être transmis lors de l'exécution sous la forme ./jboss-admin.sh --connect
).
[disconnected /] connect
Connected to standalone controller at localhost:9999
Exécutez la commande undeploy pour afficher les applications disponibles.
[standalone@localhost:9999 /] undeploy
test.ear
Exécutez la commande undeploy pour annuler le déploiement de l'application. Dans ce cas, le test.ear.
[standalone@localhost:9999 /] undeploy test.ear
Successfully undeployed test.ear.
Si vous exécutez une instance d'AS7 en tant qu'outil de développement et utilisez le dossier de déploiement, vous pouvez simplement supprimer l'application. Vous remarquerez qu'un fichier de marqueur est créé, tel que test.ear.failed
, pour indiquer le statut du déploiement de l'application.
Avec JBoss Application Server, il est possible de gérer le déploiement avec des opérations de fichier brut sur wars/oreilles dans deploy
dir.
Juste ls
pour énumérer, delete
pour annuler le déploiement, copy
pour déployer et touch
pour redéployer. Aucun redémarrage du serveur requis.
Également pour la dernière version de JBoss Application Server 7, vous pouvez utiliser CLI .
Vous pouvez également essayer l'interface graphique de la CLI. L'option de menu Deployments -> Undeploy fournit une liste de choix des déploiements. Quelques clics et vous avez terminé.
Voir https://community.jboss.org/wiki/AGUIForTheCommandLineInterface
Vous n'êtes pas obligé de redémarrer le serveur JBOSS si vous supprimez le WAR et l'EAR, l'application n'est pas déployée.
L'article ( http://docs.jboss.org/jbossas/docs/Clustering_Guide/4/html/clustering-intro-farm.html ) fournit une explication parfaite de son fonctionnement.
Faites-le savoir si vous avez des questions à ce sujet.
Nous avons développé le développement sur Jboss de la même manière dans nos environnements DEV, QA et Prod et nous n’avons rencontré aucun problème jusqu’à présent.