Dans cet article


Offres d'emploi

Tags

jBoss EAP 6.2 – Déployer des applications par script avec la console CLI

jBoss EAP 6.2 – Déployer des applications par script avec la console CLI

Dans cet article nous allons voir comment deployer des applications WAR ou EAR avec la CLI (Command Line Interface) de jBoss.

Il est souvent nécessaire pour se faciler l’exploitation de serveur jBoss, de scripter (en bash par exemple) un certain nombre d’étapes. JBoss met à disposition un console (CLI) qui permet d’exécuter des scripts en mode line de commande ou batch. CLI est très puissante et permet de faire énormement de manipulation du serveur. Il est presque possible de modifier l’intégralité des configurations du serveur à chaud.

Ouverture de la console CLI

Afin de permettre à vos scripts de pouvoir être exécutés par jBoss, il faut ouvrir le port de management de jBoss. Dans le fichier standalone.xml, modifier la ligne jboss.bind.address.management

par

 

Ainsi le jboss écoutera sur toutes les adresses ip. Il est possible de sécuriser cette adresse en choisissait une adresse ip différente de celle qu’écoute le port HTTP et AJP.

Pour plus d’information sur la connexion CLI et la sécurisation

Créer et déployer des scripts de déployement

Vous pouvez utiliser deux solutions pour interagir avec JBoss.

  • En mode interactif
  • En mode Batch (par l’intermédiare d’un fichier)

Nous allons utiliser le mode batch avec un fichier car ceci s’avère plus simple. L’idée principale est de créer un fichier listant toutes les instructions que nous voulons faire faire par le jBoss.

L’idée de cette méthode est de demander à l’utilisateur du script, le fichier war (path et nom du fichier) à déployer. Une fois ces informations demandées et vérifier, il suffit de créer un fichier temporaire (ici script.cli) avec les instructions suivantes.

  • connect qui permet de se connecter à la base de données
  • deploy qui permet de déployer un war passé en paramètre
#Permet de deployer un war
deploy_war(){
   echo "Veuillez saisir le fichier war deployer."
   read war_file
   while [ ! -f $war_file ]; do
   echo "Le fichier $war_file n'existe pas."
   echo "Veuillez resaisir le fichier war deployer."
   read war_file
   done
   #Ici on crée le script dans un répertoire en cancatenant les instructions
   echo "connect 127.0.0.1:9999" > /tmp/script.cli
   echo "deploy $war_file" >> /tmp/script.cli
   "$PARH_TO_JBOSS/bin/jboss-cli.sh"--file=/tmp/script.cli;
}

Et voilà, nous avons créé une méthode bash qui permet de déployer un war sur un jboss par l’intermédiaire d’un script.

Avec cette stratégie, il est facile de scripter d’autres fonctionnalités, par exemple, lister les datasources, ou en activer une.

L'équipe AXOPEN

Voir aussi les articles suivants

JBOSS EAP – Déployer une application à la racine du serveur
Dans cet article, nous verrons comment déployer un archive war (un projet) à la racine du serveur JBOSS Le fichier jboss-web.xml Première étape, la plus simple, configurer dans votre fichier de déployement d’application jboss-web.xml pour que le pointe vers /. Voici un exemple simple de mon fichier jboss-web.xml < jboss-web> < context-root>< /context-root> < security-domain>java:/jaas/diagergo-security< /security-domain> < /jboss-web>   Si vous deployez votre application ainsi, vous obtiendrez une erreur de jboss vous expliquant qu’il existe déjà une application deployée sur le context-path root.
Lire l'article

La clause HAVING en Hibernate 4

La clause HAVING en Hibernate 4

Le 27/12/2013 par Pierre Liseron

Comment utiliser la clause SQL HAVING avec Hibernate 4 ? Rappel théorique En SQL, lorsqu’une requête possède une condition sur une colonne sur laquelle porte une clause GROUP BY, cette condition n’est pas exprimée dans la clause WHERE mais dans la clause HAVING. En pratique Si vous savez faire une requête simple avec Hibernate 4, écrire une condition simple et utiliser la clause GROUP BY, la mise en place d’un HAVING ne vous posera pas de problème.
Lire l'article

Le multiselect avec Hibernate 4

Le multiselect avec Hibernate 4

Le 05/11/2013 par Pierre Liseron

Nous avons vu dans l’article « Les requêtes avec Hibernate 4 » comment réaliser une requête ramenant soit un champ soit tous les champs (SELECT *). Voyons à présent comment ramener plusieurs champs mais pas tous. Le code côté Hibernate Pour ce faire, nous avons recours à la fonction multiselect() de la classe CriteriaQuery. Cette fonction prend en paramètres soit une List de champs, soit n paramètres représentant des champs ou des fonctions.
Lire l'article