Guide d'administration et de configuration
À utiliser dans Red Hat JBoss Enterprise Application Platform 6
Résumé
Chapitre 1. Introduction
1.1. Red Hat JBoss Enterprise Application Platform 6
1.2. Les fonctionnalités de JBoss EAP 6
Fonctionnalité | Description |
---|---|
Certification Java | JBoss Enterprise Application Platform 6 Full Profil et Web Profile certifiés. |
Domaine géré |
|
Console de gestion et interface CLI | Interfaces de gestion de serveur autonome ou nouveaux domaines. L'édition des fichiers de configuration XML n'est plus nécessaire. L'interface CLI comprend également un mode batch qui peut encoder et automatiser les tâches de gestion. |
La disposition du répertoire est simplifiée | Le répertoire modules contient maintenant les modules du serveur d'applications. Les répertoires communs et spécifiques au serveur lib sont obsolètes. Les répertoires domain et standalone contiennent les artefacts et les fichiers de configuration pour les déploiements autonomes et de domaine respectivement. |
Mécanisme de chargement de classes modulaire | Les modules sont chargés et déchargés à la demande. Cela améliore la performance et la sécurité, et permet des démarrages et redémarrages plus rapides. |
Gestion des sources de données simplifiée | Les pilotes de base de données peuvent être déployés comme tout autre service. En plus, les sources de données sont créées et gérées directement dans la console de gestion ou l'interface CLI. |
Utilisation réduite et plus efficace des ressources | JBoss EAP 6 utilise moins de ressources système et les utilise plus efficacement que dans les versions précédentes. Entre autres avantages, JBoss EAP 6 démarre et s'arrête plus rapidement que JBoss EAP 5. |
1.3. JBoss EAP 6 Operating Modes
1.4. Les serveurs autonomes
1.5. Les domaines gérés
domain.sh
ou domain.bat
exécute. Les contrôleurs hôtes sont configurés pour déléguer les tâches de gestion de domaine au contrôleur de domaine.
Figure 1.1. Représentation graphique d'un domaine géré
1.6. Contrôleur de domaine
- Maintenir la politique centrale de gestion du domaine.
- S'assurer que tous les contrôleurs soient mis au courant de son contenu actuel.
- Assister tous les contrôleurs pour que toutes les instances en cours de JBoss EAP 6 soient configurées suivant cette stratégie.
domain/configuration/domain.xml
. Ce fichier est le fichier d'installation JBoss EAP 6 non compressé, qui se trouve sur le système de fichiers de l'hôte du contrôleur de domaines.
domain.xml
doit se trouver dans le répertoire domain/configuration/
du contrôleur hôte défini pour exécuter en tant que contrôleur de domaine. Ce fichier n'est pas obligatoire pour les installations sur les contrôleurs hôtes qui ne sont pas sensés exécuter en tant que contrôleurs de domaines. Cependant, la présence d'un fichier domain.xml
sur un tel serveur n'a aucun effet néfaste.
domain.xml
contient les configurations de profil qui peuvent être exécutées sur les instances de serveur dans un domaine. Une configuration de profil inclut les paramètres détaillés des différents sous-systèmes qui composent un profil. La configuration de domaine inclut également la définition des groupes de sockets et les définitions de groupes de serveurs.
1.7. Domain Controller Discovery et Failover
Exemple 1.1. Contrôleur d'hôte configuré avec de nombreuses options de contrôleur de domaine
<domain-controller> <remote security-realm="ManagementRealm"> <discovery-options> <static-discovery name="primary" host="172.16.81.100" port="9999"/> <static-discovery name="backup" host="172.16.81.101" port="9999"/> </discovery-options> </remote> </domain-controller>
- name
- Le nom de cette option discovery de contrôleur de domaine
- host
- Le nom d'hôte du contrôleur de domaine distant.
- Important
- Le port du contrôleur de domaine distant.
--backup
pourra être promu pour agir comme contrôleur de domaine.
Note
--backup
qui entraînera ce contrôleur à conserver une copie locale de la configuration du domaine. Cette configuration servira si le contrôleur hôte est reconfiguré pour pouvoir agir comme contrôleur de domaine.
Procédure 1.1. Promouvoir un contrôleur hôte comme contrôleur de domaine
- Assurez-vous que le contrôleur de domaine d'origine a, ou est, arrêté.
- Utiliser l'interface CLI pour vous connecter au contrôleur hôte qui deviendra le nouveau contrôleur de domaine.
- Exécutez la commande suivante pour configurer le contrôleur hôte pour qu'il agisse comme nouveau contrôleur de domaine.
/host=HOST_NAME:write-local-domain-controller
- Exécutez la commande suivante pour rechercher le contrôleur hôte.
reload --host=HOST_NAME
1.8. Contrôleur hôte
domain.sh
ou domain.bat
exécute. sur un hôte.
domain/configuration/host.xml
situé dans le fichier d'installation de JBoss EAP 6 décompressé sur le système de fichiers de son hôte. Le fichier host.xml
contient les informations de configuration suivantes spécifiques à l'hôte particulier :
- Les noms des instances de JBoss EAP 6 censées être exécutées à partir de l'installation.
- Une des configurations suivantes :
- La façon dont le contrôleur contacte le contrôleur de domaines pour s'enregistrer lui-même et pour accéder à la configuration de domaine.
- La façon de rechercher et contacter un contrôleur de domaines éloigné.
- Comment le contrôleur hôtes doit se persuader lui-même d'agir en tant que contrôleur de domaines
- Les configuration spécifiques à l'installation physique locale. Ainsi, les définitions d'interfaces nommées déclarées dans
domain.xml
peuvent être mappées vers une adresse IP particulière appartenant à une machine danshost.xml
. Les noms de chemins d'accès abstraits de domain.xml peuvent être mappés vers les chemins d'accès du système de fichiers danshost.xml
.
1.9. Les groupes de serveurs
Exemple 1.2. Définition de groupe de serveurs
<server-group name="main-server-group" profile="default"> <socket-binding-group ref="standard-sockets"/> <deployments> <deployment name="foo.war_v1" runtime-name="foo.war"/> <deployment name="bar.ear" runtime-name="bar.ear"/> </deployments> </server-group>
- nom : le nom du groupe de serveurs
- profil : le nom du profil du groupe de serveurs
- socket-binding-group : le nom du groupe de liaisons de sockets par défaut à utiliser pour les serveurs dans le groupe. Ce nom peut être remplacé sur la base d'un serveur dans
host.xml
. Cependant, c'est un élément obligatoire pour chaque groupe de serveurs et le domaine ne peut pas démarrer s'il n'est pas présent.
- deployments : le contenu de déploiement à déployer sur les serveurs du groupe.
- system-properties : les propriétés système à définir sur les serveurs du groupe
- jvm : les paramètres de configuration JMV par défaut de tous les serveurs du groupe. Le contrôleur hôte fait fusionner ces paramètres dans n'importe quelle configuration fournie par
host.xml
pour établir les paramètres utilisés dans la JVM du serveur. - socket-binding-port-offset: le décallage par défaut à ajouter aux valeurs de port données par le groupe de liaisons de sockets.
- management-subsystem-endpoint: défini à
true
pour que les serveurs qui appartiennent au groupe de serveurs puissent se connecter à nouveau au contrôleur de l'hôte en utilisant le point de terminaison du sous-système distant (le sous-système distant doit être présent pour que cela fonctionne).
1.10. Profils JBoss EAP 6
Chapitre 2. Gestion de serveurs d'applications
2.1. Conventions pour la documentation JBoss EAP
- Méthode d'installation en téléchargement compressé
- EAP_HOME est le répertoire à partir duquel le fichier JBoss EAP Zip est extrait.
- Méthode d'installation par interface de commandes CLI ou par le GUI
- EAP_HOME est le répertoire dans lequel vous décidez d'installer JBoss EAP.
- Méthode d'installation RPM
- EAP_HOME se rapporte au répertoire
/usr/share/jbossas
.
Note
2.2. Démarrer et stopper JBoss EAP 6
2.2.1. Démarrer JBoss EAP 6
2.2.2. Démarrez JBoss EAP 6 comme un serveur autonome
Cette rubrique couvre toutes les étapes à couvrir pour démarrer JBoss EAP 6 en tant que serveur autonome.
Procédure 2.1. Démarrer le service de plate-forme comme serveur autonome.
Dans Red Hat Enterprise Linux.
Exécuter la commande suivante :EAP_HOME/bin/standalone.sh
Dans Microsoft Windows Server
Exécuter la commande suivante :EAP_HOME\bin\standalone.bat
Option : indiquer les paramètres supplémentaires.
Pour imprimer une liste de paramètres supplémentaires à passer aux scripts de démarrage, utiliser le paramètre-h
.
L'instance de serveur autonome JBoss EAP 6 démarre.
2.2.3. Démarrez JBoss EAP 6 comme domaine géré
Le contrôleur de domaines doit être démarré avant qu'un serveur esclave ne démarre dans des groupes de serveurs du domaine. Utiliser cette procédure sur le contrôleur de domaine pour commencer, puis, sur chaque contrôleur hôte associé et sur chaque hôte associé.
Procédure 2.2. Démarrer le service de plate-forme comme serveur géré
Dans Red Hat Enterprise Linux.
Exécutez la commande :EAP_HOME/bin/domain.sh
Dans Microsoft Windows Server
Exécutez la commande :EAP_HOME\bin\domain.bat
En option : passez des paramètres supplémentaires au script de démarrage.
Pour obtenir une liste de paramètres que vous pourrez passer au script de démarrage, utilisez le paramètre-h
.
L'instance de domaine géré de JBoss EAP 6 démarre.
2.2.4. Configuration d'un nom d'hôte dans un domaine géré
Chaque hôte exécutant dans un domaine géré doit avoir un nom d'hôte unique. Pour faciliter l'administration et permettre l'utilisation de mêmes fichiers de configuration hôte sur plusieurs hôtes, le serveur utilise la priorité suivante pour déterminer le nom d'hôte.
- Si défini, l'attribut de
nom
de l'élémenthôte
qui se trouve dans le fichier de configurationhost.xml
. - La valeur de la propriété système
jboss.host.name
. - La valeur qui suit le caractère (".") dans la propriété système
jboss.qualified.host.name
, ou toute la valeur s'il n'y a pas de point final ("."). - La valeur qui suit le caractère (".") dans la variable d'environnement
HOSTNAME
pour les systèmes d'exploitation basés POSIX, la variable d'environnementCOMPUTERNAME
dans Microsoft Windows, ou toute la valeur s'il n'y a pas de point final (".")
Procédure 2.3. Configuration d'un nom d'hôte avec une propriété système
- Ouvrir le fichier de configuration de l'hôte
host.xml
pour le modifier. - Chercher l'élément
host
dans le fichier, comme par exemple :<host name="master" xmlns="urn:jboss:domain:1.6">
- S'il est présent, retirer la déclaration d'attribut
. L'élémentname
="HOST_NAME"host
devra ressembler à l'exemple suivant :<host xmlns="urn:jboss:domain:1.6">
- Démarrer le serveur en saisissant
-Djboss.host.name
comme argument de ligne de commande, comme par exemple :-Djboss.host.name=HOST_NAME
Procédure 2.4. Configuration d'un nom d'hôte avec un nom spécifique
- Démarrer l'hôte esclave JBoss EAP à l'aide de la syntaxe suivante :
Par exemple :bin/domain.sh --host-config=HOST_FILE_NAME
bin/domain.sh --host-config=host-slave01.xml
- Lancer l'interface CLI.
- Utiliser la syntaxe suivante pour remplacer le nom d'hôte :
Par exemple :/host=EXISTING_HOST_NAME:write-attribute(name="name",value=UNIQUE_HOST_NAME)
Vous devriez voir apparaître le résultat suivant./host=master:write-attribute(name="name",value="host-slave01")
"outcome" => "success"
Cela modifie l'attributname
de l'hôte dans le fichierhost-slave01.xml
comme suit :<host name="host-slave01" xmlns="urn:jboss:domain:1.6">
- Vous devez charger à nouveau la configuration du serveur avec l'ancien nom d'hôte pour terminer le processus.
Par exemple :reload --host=EXISTING_HOST_NAME
reload --host=master
2.2.5. Créer un domaine géré sur deux machines
Note
- IP1 = adresse IP du contrôleur de domaine (Machine 1)
- IP2 = adresse IP de l'hôte (Machine 2)
Procédure 2.5. Créer un domaine géré sur deux machines
Sur la machine 1
- Utiliser le script add-user.sh pour ajouter l'utilisateur de management. Par exemple,
slave01
, pour que l'hôte puisse authentifier le contrôleur de domaines. Notez la valeurSECRET_VALUE
de la sortieadd-user
. - Démarrer le domaine par le fichier de configuration
host-master.xml
, qui est préconfiguré pour un contrôleur de domaines exclusif. - Utiliser
-bmanagement=$IP1
pour rendre le contrôleur de domaine visible auprès des autres machines.[$JBOSS_HOME/bin]$ ./domain.sh --host-config=host-master.xml -bmanagement=$IP1
Sur la machine 2
- Mettre à jour le fichier
$JBOSS_HOME/domain/configuration/host-slave.xml
avec les identifiants.<?xml version='1.0' encoding='UTF-8'?> <host xmlns="urn:jboss:domain:1.6" name="slave01"> <!-- add user name here --> <management> <security-realms> <security-realm name="ManagementRealm"> <server-identities> <secret value="$SECRET_VALUE" /> <!-- use secret value from add-user.sh output--> </server-identities> ...
- Démarrer l'hôte.
[$JBOSS_HOME/bin]$ ./domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=$IP1 -b=$IP2
Nous pouvons maintenant gérer le domaine.
via le CLI :[$JBOSS_HOME/bin]$ ./jboss-cli.sh -c --controller=$IP1
via la console web :http://$IP1:9990
Accéder à la page d'index du serveur :http://$IP2:8080/ http://$IP2:8230/
2.2.6. Démarrer JBoss EAP 6 avec une configuration différente
Conditions préalables
- Avant d'utiliser un fichier de configuration alternatif, préparez-le à l'aide de la configuration par défaut comme modèle. Pour un domaine géré, le fichier de configuration doit être placé dans
EAP_HOME/domain/configuration/
. Pour les serveurs autonomes, le fichier de configuration devra être mis dans le répertoireEAP_HOME/standalone/configuration/
.
Note
EAP_HOME/docs/examples/configs/
. Utiliser ces exemples pour activer des fonctionnalités supplémentaires, comme clustering ou l'API XTS de Transactions.
standalone-picketlink.xml
, standalone-genericjms.xml
et standalone-hornetq-colocated.xml
.
Procédure 2.6. Démarrage de l'instance par une configuration différente
Serveur autonome
Pour un domaine autonome, fournir le nom du fichier de configuration comme option du paramètre--server-config
. Le fichier de configuration doit se trouver dans le répertoireEAP_HOME/standalone/configuration/
, et vous devez indiquer le chemin d'accès du fichier de ce répertoire.Exemple 2.1. Utiliser un fichier de configuration alternatif pour un serveur autonome Red Hat Enterprise Linux.
[user@host bin]$
./standalone.sh --server-config=
standalone-alternate.xml
Cet exemple utilise le fichier de configurationEAP_HOME/standalone/configuration/standalone-alternate.xml
.Exemple 2.2. Utiliser un fichier de configuration alternatif pour un serveur autonome Microsoft Windows.
C:\EAP_HOME\bin>
standalone.bat --server-config=
standalone-alternate.xml
Cet exemple utilise le fichier de configurationEAP_HOME/standalone/configuration/standalone-alternate.xml
.Domaine géré
Pour un domaine géré, fournir le nom du fichier de configuration comme option du paramètre--domain-config
. Le fichier de configuration se trouve dans le répertoireEAP_HOME/domain/configuration/
, et vous devez indiquer le chemin d'accès de ce répertoire.Exemple 2.3. Utilisation d'un fichier de configuration alternatif pour un domaine géré dans Red Hat Enterprise Linux
[user@host bin]$
./domain.sh --domain-config=
domain-alternate.xml
Cet exemple utilise le fichier de configurationEAP_HOME/domain/configuration/domain-alternate.xml
.Exemple 2.4. Utilisation d'un fichier de configuration alternatif pour un domaine géré dans un serveur Microsoft Windows
C:\EAP_HOME\bin>
domain.bat --domain-config=
domain-alternate.xml
Cet exemple utilise le fichier de configurationEAP_HOME\domain\configuration\domain-alternate.xml
.
La plateforme JBoss Enterprise Application Platform est maintenant en cours d'exécution, avec votre fichier de configuration alternatif.
2.2.7. Stopper le serveur JBoss EAP 6
Note
Procédure 2.7. Stopper une instance de JBoss EAP 6
Stopper une instance qui a été démarrée de façon interactive à partir d'une invite de commande.
Appuyez sur Ctrl-C dans le terminal où JBoss EAP 6 exécute.
Procédure 2.8. Stopper une instance qui a démarré en tant que service de système d'exploitation.
Suivant votre système d'exploitation, utiliser une des procédures suivantes :Red Hat Enterprise Linux
Dans Red Hat Enterprise Linux, si vous avez écrit un script de service, utiliser sa fonctionstop
. Cela devra être inscrit dans le script. Ensuite, vous pourrez utiliserservice scriptname stop
, avec scriptname comme nom de script.Microsoft Windows Server
Dans Microsoft Windows, utiliser la commandenet service
, ou bien faites cesser le service à partir de l'applet Services qui se trouve dans le panneau de contrôle.
Procédure 2.9. Stopper une instance qui exécute en arrière-plan (Red Hat Enterprise Linux)
- Chercher l'ID de processus (PID) du processus :
Si une seule instance est en cours d'exécution (mode autonome)
N'importe laquelle des commandes suivantes renverront le PID d'une simple instance de JBoss EAP 6 :pidof java
jps
(La commandejps
retournera un ID des deux processus ; un pourjboss-modules.jar
et un pour jps lui-même. Utiliser l'ID dejboss-modules.jar
pour stopper l'instance EAP)
Si plusieurs instances EAP sont en cours d'exécution (mode de domaine)
Identifier le process qui convient pour y mettre un terme si plus d'une instance d'EAP en cours d'exécution nécessitent l'utilisation de commandes plus élaborées.- La commande
jps
peut être utilisée en mode détaillé (verbose) pour qu'elle puisse fournir davantage d'informations sur les processus java qu'elle trouve.Vous trouverez ci-dessous sous une sortie abrégée d'une commande détailléejps
qui identifie les différents processus d'EAP en cours par PID et rôle :$ jps -v 12155 jboss-modules.jar -D[Server:server-one] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms1303m ... 12196 jboss-modules.jar -D[Server:server-two] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms1303m ... 12096 jboss-modules.jar -D[Host Controller] -Xms64m -Xmx512m -XX:MaxPermSize=256m ... 11872 Main -Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=96m -XX:+UseCodeCacheFlushing ... 11248 jboss-modules.jar -D[Standalone] -XX:+UseCompressedOops -verbose:gc ... 12892 Jps ... 12080 jboss-modules.jar -D[Process Controller] -Xms64m -Xmx512m -XX:MaxPermSize=256m ...
- La commande
ps aux
peut également être utilisée pour renvoyer des informations sur les instances multiples EAP.Vous trouverez ci-dessous sous une sortie abrégée d'une commande détailléeps aux
qui identifie les différents processus d'EAP en cours par PID et rôle :$ ps aux | grep java username 12080 0.1 0.9 3606588 36772 pts/0 Sl+ 10:09 0:01 /path/to/java -D[Process Controller] -server -Xms128m -Xmx128m -XX:MaxPermSize=256m ... username 12096 1.0 4.1 3741304 158452 pts/0 Sl+ 10:09 0:13 /path/to/java -D[Host Controller] -Xms128m -Xmx128m -XX:MaxPermSize=256m ... username 12155 1.7 8.9 4741800 344224 pts/0 Sl+ 10:09 0:22 /path/to/java -D[Server:server-one] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms1000m -Xmx1000m -server - ... username 12196 1.8 9.4 4739612 364436 pts/0 Sl+ 10:09 0:22 /path/to/java -D[Server:server-two] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms1000m -Xmx1000m -server ...
Dans les exemples ci-dessus, les processus Process Controller sont des processus à stopper pour stopper tout le domaine.L'utilitairegrep
peut être utilisé avec une de ces commandes pour identifier le Process Controller :jps -v | grep "Process Controller"
ps aux | grep "Process Controller"
- Envoyer le signal
TERM
au processus en exécutantkill PID
, quand PID est l'ID de processus identifié par une des commandes ci-dessus.
Chacune de ces solutions ferme la plate-forme JBoss EAP 6 nettement, ce qui fait qu'aucune donnée n'est perdue.
2.2.8. Référence aux variables et arguments à passer à l'exécution du serveur
standalone.xml
, domain.xml
et host.xml
. Cela peut comprendre le démarrage du serveur par un ensemble de liaisons de sockets différentes ou une configuration secondaire. Vous pourrez accéder à une liste des paramètres disponibles en passant la variable d'assistance au démarrage.
-h
ou --help
>. Les résultats de cette variable d'assistance sont expliqués dans le tableau ci-dessous.
Exemple 2.5. Variable d'assistance « help »
[localhost bin]$ standalone.sh -h
[localhost bin]$ domain.sh -h
Argument ou Option | Mode | Description |
---|---|---|
--admin-only | Autonome | Définir le type d'exécution du serveur à ADMIN_ONLY . Cela le fera ouvrir les interfaces administratives et il pourra ainsi accepter les ordres de gestion, mais il ne pourra pas démarrer d'autres services de runtime ou accepter les demandes de l'utilisateur final. |
--admin-only | Domaine | Définir le type d'exécution du contrôleur hôte à ADMIN_ONLY , ce qui le fera ouvrir les interfaces administratives et il pourra ainsi accepter les ordres de gestion, mais il ne pourra pas démarrer d'autres serveurs ou, si ce contrôleur hôte est le master du domaine, il pourra accepter les demandes des contrôleurs hôte esclaves. |
-b <value> , -b=<value> | Autonome, Serveur | Définir la propriété système jboss.bind.address à la valeur donnée. |
-b<interface>=<value> | Autonome, Serveur | Définir la propriété système jboss.bind.address.<interface> à la valeur donnée. |
--backup | Domaine | Conserver une copie de la configuration de domaine persistante même si cet hôte n'est pas le contrôleur de domaines. |
-c <config> , -c=<config> | Autonome | Nommer le fichier de configuration du serveur à utiliser. La valeur par défaut est standalone.xml . |
-c <config> , -c=<config> | Domaine | Nom du fichier de configuration de serveur à utiliser. La valeur par défaut est domain.xml . |
--cached-dc | Domaine | Si l'hôte n'est pas le contrôleur de domaine et ne peut pas contacter le contrôleur de domaine au démarrage, puisque le processus de démarrage (booting) utilise une copie de la configuration de domaine mise en cache localement. |
--debug [<port>] | Autonome | Active le mode de débogage par un argument en option qui indique le port. Ne fonctionne que si le script de lancement le supporte. |
-D<name>[=<value>] | Autonome, Serveur | Définit une propriété système. |
--domain-config=<config> | Domaine | Nom du fichier de configuration de serveur à utiliser. La valeur par défaut est domain.xml . |
-h , --help | Autonome, Serveur | Affiche le message d'assistance et sortir. |
--host-config=<config> | Domaine | Nom du fichier de configuration hôte à utiliser. La valeur par défaut est host.xml . |
--interprocess-hc-address=<address> | Domaine | Adresse à laquelle le contrôleur hôte doit écouter la communication en provenance du contrôleur de processus. |
--interprocess-hc-port=<port> | Domaine | Port sur lequel le contrôleur hôte doit écouter la communication en provenance du contrôleur de processus. |
--master-address=<address> | Domaine | Définit la propriété système jboss.domain.master.address à la valeur donnée. Dans une configuration de contrôleur hôte esclave par défaut, c'est utilisé pour configurer l'adresse du contrôleur hôte maître. |
--master-port=<port> | Domaine | Définit la propriété système jboss.domain.master.port à la valeur donnée. Dans une configuration de contrôleur hôte esclave par défaut, c'est utilisé pour configurer le port utilisé pour la communication de gestion native du contrôleur hôte maître. |
--read-only-server-config=<config> | Autonome | Nom du fichier de configuration du serveur à utiliser. Cela diffère de --server-config et -c en ce que le fichier d'origine n'est jamais écrasé. |
--read-only-domain-config=<config> | Domaine | Nom du fichier de configuration du domaine à utiliser. Cela diffère de --domain-config et de -c en ce que le fichier de départ n'est jamais écrasé. |
--read-only-host-config=<config> | Domaine | Nom du fichier de configuration de l'hôte à utiliser. Cela diffère de --host-config en ce que le fichier de départ n'est jamais écrasé. |
-P <url> , -P=<url> , --properties=<url> | Autonome, Serveur | Télécharge les propriétés système de l'URL donné. |
--pc-address=<address> | Domaine | Adresse à laquelle le contrôleur de processus doit écouter les communications en provenance des processus qu'il contrôle. |
--pc-port=<port> | Domaine | Port sur lequel le contrôleur de processus doit écouter les communications en provenance des processus qu'il contrôle. |
-S<name>[=<value>] | Autonome | Définit une propriété de sécurité. |
--server-config=<config> | Autonome | Nommer le fichier de configuration du serveur à utiliser. La valeur par défaut est standalone.xml . |
-u <value> , -u=<value> | Autonome, Serveur | Définit la propriété système jboss.default.multicast.address à la valeur donnée. |
-v , -V , --version | Autonome, Serveur | Affiche la version du serveur d'applications et sortie. |
2.3. Démarrer et arrêter les serveurs
2.3.1. Démarrer et arrêter les serveurs par l'interface CLI
Conditions préalables
Vous pouvez démarrer une instance de serveur autonome par les scripts de ligne de commande, et le fermer par l'interface CLI par la commande shutdown
. Si vous avez besoin de l'instance par la suite, exécuter le processus de démarrage à nouveau selon les instructions dans Section 2.2.2, « Démarrez JBoss EAP 6 comme un serveur autonome ».
Exemple 2.6. Démarrer et arrêter une instance de serveur autonome par l'interface CLI
[standalone@localhost:9999 /] shutdown
Si vous exécutez un domaine géré, la console de gestion va vous permettre de démarrer ou de stopper sélectivement des serveurs spécifiques pour ce domaine. Cela inclut les groupes de serveurs dans tout le domaine, ainsi que les instances de serveur spécifiques sur un hôte.
Exemple 2.7. Stopper un hôte de serveur dans un domaine géré par l'interface CLI
shutdown
est utilisée pour fermer un hôte de domaine géré déclaré. Cet exemple stoppe un hôte de serveur nommé master en déclarant le nom d'instance avant d'appeler l'opération de fermeture. Utiliser la touche tab pour aider à la complétion de chaînes et pour exposer des variables visibles comme les valeurs hôtes disponibles.
[domain@localhost:9999 /] /host=master:shutdown
Exemple 2.8. Stopper un hôte de serveur dans un domaine géré par l'interface CLI
main-server-group
en déclarant le groupe avant les opérations start
et stop
. Utilisez la touche tab pour aider à la complétion de chaînes et pour exposer des variables visibles comme les valeurs de nom de groupes de serveurs disponibles.
[domain@localhost:9999 /] /server-group=main-server-group:start-servers
[domain@localhost:9999 /] /server-group=main-server-group:stop-servers
Exemple 2.9. Démarrer et stopper une instance de serveur dans un domaine géré par l'interface CLI
server-one
sur l'hôte master
en déclarant la configuration de l'hôte et du serveur avant d'invoquer les opérations start
et stop
. Utilisez la touche tab pour aider à la complétion de chaînes et pour exposer des variables visibles comme les valeurs de configuration de l'hôte et du serveur.
[domain@localhost:9999 /] /host=master/server-config=server-one:start
[domain@localhost:9999 /] /host=master/server-config=server-one:stop
2.3.2. Démarrer un serveur par la console de gestion
Conditions préalables
Procédure 2.10. Démarrer le serveur d'un domaine géré
- Sélectionner l'onglet Runtime qui se trouve en haut de la console. Étendre le menu et sélectionner .
- À partir de la liste Server Instances, sélectionner le serveur que vous souhaitez démarrer. Les serveurs qui sont en cours d'exécution sont indiqués.Placez le curseur sur une instance de cette liste pour afficher les options en bleu dans le texte sous les informations sur le serveur.
- Pour démarrer une instance, cliquer surquand vous verrez ce texte. Une boîte de dialogue de confirmation va s'ouvrir. Cliquer sur le bouton pour démarrer le serveur.
Le serveur sélectionné démarre et exécute.
2.3.3. Stopper un serveur qui utilise une console de gestion
Conditions préalables
Procédure 2.11. Stopper un serveur qui utilise une console de gestion dans un domaine géré
- Sélectionner l'onglet Runtime qui se trouve en haut de la console. Étendre le menu et sélectionner .
- Une liste d'instances Server Instances s'affiche dans le tableau Hosts, groups and server instances. Les serveurs en cours sont cochés.
- Placer le curseur sur le serveur choisi. Cliquer sur le boutonqui apparaît. Une fenêtre de dialogue de confirmation s'affichera.
- Cliquer sur le boutonpour arrêter le serveur.
Le serveur sélectionné est stoppé.
2.4. Chemins d'accès aux systèmes de fichiers
2.4.1. Chemins d'accès aux systèmes de fichiers
domain.xml
, host.xml
et standalone.xml
incluent tous une section où les chemins d'accès peuvent être déclarés. D'autres sections de la configuration peuvent ensuite référencer ces chemins par leur nom logique, évitant la déclaration du chemin d'accès absolu pour chaque instance. Cela bénéficie aux efforts de configuration et d'administration car cela permet à des configurations hôtes spécifiques de résoudre des noms logiques universels.
jboss.server.log.dir
qui pointe vers le répertoire log
du serveur.
Exemple 2.10. Exemple de chemin d'accès relatif du répertoire de logging
<file relative-to="jboss.server.log.dir" path="server.log"/>
Valeur | Description |
---|---|
java.ext.dirs | Chemins de répertoires d'extension de JDK. |
jboss.home.dir | Le répertoire root de la distribution JBoss EAP 6. |
user.home | Le répertoire d'accueil de l'utilisateur. |
user.dir | Le répertoire de travail actuel de l'utilisateur |
java.home | Le répertoire d'installation de Java |
jboss.server.base.dir | Le répertoire root d'une instance de serveur individuel. |
jboss.server.data.dir | Le répertoire que le serveur va utiliser pour le stockage de fichiers de données persistantes. |
jboss.server.config.dir | Le répertoire qui contient la configuration du serveur. |
jboss.server.log.dir | Le répertoire que le serveur va utiliser pour le stockage de fichier journal. |
jboss.server.temp.dir | Le répertoire que le serveur va utiliser pour le stockage de fichiers temporaires. |
jboss.server.deploy.dir | Le répertoire que le serveur utilisera pour stocker le contenu déployé. |
jboss.controller.temp.dir | Le répertoire que le contrôleur hôte va utiliser pour le stockage de fichiers temporaires. |
jboss.domain.base.dir | Le répertoire de base de contenu de domaine. |
jboss.domain.config.dir | Le répertoire qui contient la configuration de domaine. |
jboss.domain.data.dir | Le répertoire que le domaine utilisera pour le stockage de fichiers de données persistantes. |
jboss.domain.log.dir | Le répertoire que le domaine va utiliser pour le stockage de fichier de journalisation persistant. |
jboss.domain.temp.dir | Le répertoire que le domaine va utiliser pour le stockage de fichier temporaire. |
jboss.domain.deployment.dir | Le répertoire que le serveur utilisera pour stocker le contenu déployé. |
jboss.domain.servers.dir | Le répertoire que le domaine va utiliser pour stocker les sorties d'instances de domaines gérés. |
Si vous exécutez en serveur autonome, vous pourrez substituer les chemins jboss.server.base.dir
, jboss.server.log.dir
, ou jboss.server.config.dir
d'une ou de deux manières.
- Vous pouvez passer des arguments par ligne de commande quand vous démarrez le serveur. Ainsi :
bin/standalone.sh -Djboss.server.log.dir=/var/log
- Vous pouvez modifier la variable
JAVA_OPTS
dans le fichier de configuration du serveur. Ouvrir le fichierEAP_HOME/bin/standalone.conf
et ajouter la ligne suivante à la fin du fichier :JAVA_OPTS="$JAVA_OPTS Djboss.server.log.dir=/var/log"
Vous pouvez également créer votre propre chemin personnalisé. Par exemple, vous pouvez définir un chemin relatif à utiliser pour la journalisation. Vous pouvez alors changer le gestionnaire de journal pour utiliser my.relative.path
,
Exemple 2.11. Un chemin de journalisation personnalisé
my.relative.path=/var/log
2.5. Fichiers de configuration
2.5.1. Fichiers de configuration de JBoss EAP 6
Mode du serveur | Emplacement | But |
---|---|---|
domain.xml | EAP_HOME/domain/configuration/domain.xml | Il s'agit du fichier de configuration principal d'un domaine géré. Seul le master du domaine lit ce fichier. Il peut être supprimé pour les autres membres du domaine. |
host.xml | EAP_HOME/domain/configuration/host.xml | Ce fichier contient les détails de configuration spécifiques à un hôte physique dans un domaine géré, tels que les interfaces réseau, les liaisons de sockets, le nom de l'hôte et d'autres détails spécifiques à l'hôte. Le fichier host.xml contient toutes les fonctionnalités de hôte-master.xml et hôte-slave.xml qui sont décrites ci-dessous. Ce fichier n'est pas présent pour les serveurs autonomes. |
host-master.xml | EAP_HOME/domain/configuration/host-master.xml | Ce fichier inclut tous les détails de configuration nécessaires pour exécuter un serveur en tant que serveur maître de domaine géré. Ce fichier n'est pas présent dans les serveurs autonomes. |
host-slave.xml | EAP_HOME/domain/configuration/host-slave.xml | Ce fichier inclut tous les détails de configuration nécessaires pour exécuter un serveur en tant que serveur esclave de domaine géré. Ce fichier n'est pas présent dans les serveurs autonomes. |
standalone.xml | EAP_HOME/standalone/configuration/standalone.xml | C'est le fichier de configuration par défaut pour un serveur autonome. Il contient toutes les informations sur le serveur autonome, y compris les sous-systèmes, réseautage, déploiements, les liaisons de sockets et autres détails configurables. Cette configuration est utilisée automatiquement lorsque vous démarrez votre serveur autonome. |
standalone-full.xml | EAP_HOME/standalone/configuration/standalone-full.xml | Il s'agit d'un exemple de configuration pour un serveur autonome. Il prend en charge chaque sous-système possible à l'exception de ceux destinés à la haute disponibilité. Pour l'utiliser, arrêtez votre serveur et redémarrez à l'aide de la commande suivante : EAP_HOME/bin/standalone.sh -c standalone-full.xml |
standalone-ha.xml | EAP_HOME/standalone/configuration/standalone-ha.xml | Cet exemple de fichier de configuration active tous les sous-systèmes par défaut et ajoute les mod_cluster et les sous-systèmes JGroups pour un serveur autonome, afin qu'il puisse participer à un cluster de haute disponibilité ou d'équilibrage de la charge. Ce fichier n'est pas applicable à un domaine géré. Pour utiliser cette configuration, arrêtez votre serveur et redémarrez le à l'aide de la commande suivante : EAP_HOME/bin/standalone.sh -c standalone-ha.xml |
standalone-full-ha.xml | EAP_HOME/standalone/configuration/standalone-full-ha.xml | Il s'agit d'un exemple de configuration pour un serveur autonome. Il prend en charge chaque sous-système possible incluant ceux destinés à la haute disponibilité. Pour l'utiliser, arrêtez votre serveur et redémarrez à l'aide de la commande suivante : EAP_HOME/bin/standalone.sh -c standalone-full-ha.xml |
2.5.2. Remplacement de propriété basée descripteur
standalone.xml
ou domain.xml
:
Exemple 2.12. Remplacement de propriété basée descripteur
<subsystem xmlns="urn:jboss:domain:ee:1.1"> <spec-descriptor-property-replacement> true </spec-descriptor-property-replacement> <jboss-descriptor-property-replacement> true </jboss-descriptor-property-replacement> </subsystem>
ejb-jar.xml
et persistence.xml
.
jboss-ejb3.xml
jboss-app.xml
jboss-web.xml
*-jms.xml
*-ds.xml
Exemple 2.13. Exemple d'annotation
@ActivationConfigProperty(propertyName = "connectionParameters", propertyValue = "host=192.168.1.1;port=5445")
connectionParameters
peut être spécifié en ligne de commande par :
./standalone.sh -DconnectionParameters='host=10.10.64.1;port=5445'
${parameter:default}
. Quand une expression est utilisée dans une configuration, la valeur de ce paramètre prend sa place. Si le paramétre n'existe pas, alors la valeur par défaut indiquée sera utilisée à la place.
Exemple 2.14. Utiliser une expression dans un descripteur
<activation-config> <activation-config-property> <activation-config-property-name> connectionParameters </activation-config-property-name> <activation-config-property-value> ${jms.connection.parameters:'host=10.10.64.1;port=5445'} </activation-config-property-value> </activation-config-property> </activation-config>
${jms.connection.parameters:'host=10.10.64.1;port=5445'}
permet aux paramètres de connexion d'être remplacés par un paramètre fourni en ligne de commande, tout en donnant une valeur par défaut.
2.5.3. Activer/Désactiver un remplacement de propriété basé descripteur
Le contrôle précis du remplacement de propriété de descripteur a été introduit dans jboss-as-ee_1_1.xsd
. Cette tâche couvre les étapes requises pour configurer le remplacement de propriété basé descripteur.
Conditions préalables
- Si défini à
true
, les remplacements de propriété sont activés. - Si défini à
false
, les remplacements de propriété sont désactivés.
Procédure 2.12. jboss-descriptor-property-replacement
jboss-descriptor-property-replacement
est utilisé pour activer ou désactiver le remplacement de propriété dans les descripteurs suivants :
jboss-ejb3.xml
jboss-app.xml
jboss-web.xml
*-jms.xml
*-ds.xml
jboss-descriptor-property-replacement
est true
.
- À l'aide de l'interface CLI, exécuter la commande suivante pour déterminer la valeur de
jboss-descriptor-property-replacement
:/subsystem=ee:read-attribute(name="jboss-descriptor-property-replacement")
- Exécuter la commande suivante pour configurer le comportement :
/subsystem=ee:write-attribute(name="jboss-descriptor-property-replacement",value=VALUE)
Procédure 2.13. spec-descriptor-property-replacement
spec-descriptor-property-replacement
est utilisé pour activer ou désactiver le remplacement de propriété dans les descripteurs suivants :
ejb-jar.xml
persistence.xml
application.xml
web.xml
spec-descriptor-property-replacement
est false
.
- À l'aide de l'interface CLI, exécuter la commande suivante pour confirmer la valeur de
spec-descriptor-property-replacement
:/subsystem=ee:read-attribute(name="spec-descriptor-property-replacement")
- Exécuter la commande suivante pour configurer le comportement :
/subsystem=ee:write-attribute(name="spec-descriptor-property-replacement",value=VALUE)
Les indicateurs de remplacement de propriété basé descripteur ont bien été configurés.
2.5.4. Expressions imbriquées
Exemple 2.15. Transactions imbriquées
${system_value_1${system_value_2}}
META-INF/jboss.properties
qui se trouve dans l'archive de déploiement. Dans un EAR ou dans un autre type de déploiement qui prenne en charge les sous-déploiements, la résolution est scoped à tous les sous-déploiements si META-INF/jboss.properties
se trouve dans le déploiement externe (par ex. EAR) et est scoped à un sous-déploiement si META-INF/jboss.properties
est dans l'archive d'un sous-déploiement (par ex. un WAR à l'intérieur d'une EAR).
Exemple 2.16. Utiliser une expression imbriquée dans un fichier de configuration
<password>${VAULT::ds_ExampleDS::password::1}</password>Pour une expression imbriquée, la valeur de
ds_ExampleDS
peut être remplacée par une propriété système. Si une propriété système datasource_name
reçoit comme valeur ds_ExampleDS
, la ligne de texte de la définition de source de données pourra ressembler à ceci :
<password>${VAULT::${datasource_name}::password::1}</password>
${datasource_name}
, puis l'ajouter à une plus grande expression et évaluer l'expression qui en résulte. L'avantage de cette configuration est que le nom de la source de données se soustrait de la configuration fixe
Exemple 2.17. Expression récursive
${foo}
qui résolue en expression ${VAULT::ds_ExampleDS::password::1}
, elle-même résolue par une valeur contenue dans l'archivage sécurisé : secret
.
2.5.5. Historique du fichier de configuration
standalone.xml
, ainsi que les fichiers domain.xml
et host.xml
. Alors que ces fichiers sont modifiables directement, la méthode recommandée consiste à configurer le modèle de serveur d'applications par les opérations de gestion disponibles, y compris l'interface CLI et la console de gestion.
2.5.6. Démarrer le serveur par une ancienne configuration
standalone.xml
. Le même concept s'applique à un domaine géré par domain.xml
et host.xml
respectivement.
Exemple 2.18. Démarrer le serveur avec une configuration sauvegardée
- Identifier la version de sauvegarde que vous souhaitez démarrer. Cet exemple va rappeler l'instance de modèle de serveur qui précédait la première modification qui a lieu suite à un démarrage réussi.
EAP_HOME/standalone/configuration/standalone_xml_history/current/standalone.v1.xml
- Démarrer le serveur par cette configuration du modèle de sauvegarde en passant le nom de fichier relatif sous
jboss.server.config.dir
.EAP_HOME/bin/standalone.sh --server-config=standalone_xml_history/current/standalone.v1.xml
Le serveur d'applications démarre par la configuration sélectionnée.
Note
EAP_HOME/domain/configuration/domain_xml_history/current/domain.v1.xml
jboss.domain.config.dir
.
EAP_HOME/bin/domain.sh --domain-config=domain_xml_history/current/domain.v1.xml
2.5.7. Sauvegarder un snapshot de configuration par l'interface CLI
Les snapshots représentent une copie d'un moment précis d'une configuration de serveur en cours. Ces copies peuvent être sauvegardées et chargées par l'administrateur.
standalone.xml
, mais le même processus s'applique aux fichiers de configuration domain.xml
et host.xml
.
Conditions préalables
Procédure 2.14. Télécharger un snapshot de configuration et sauvegardez-le
Sauvegarde d'un snapshot
Exécuter l'opérationtake-snapshot
pour acquérir une copie de la configuration du serveur.[standalone@localhost:9999 /] :take-snapshot { "outcome" => "success", "result" => "/home/User/EAP_HOME/standalone/configuration/standalone_xml_history/snapshot/20110630-172258657standalone.xml"
Un snapshot de la configuration du serveur en cours a été sauvegardé.
2.5.8. Charger un snapshot de configuration par l'interface CLI.
standalone.xml
, mais le même processus s'applique aux fichiers domain.xml
et host.xml
.
Procédure 2.15. Télécharger un snapshot de configuration
- Identifier le snapshot à télécharger. Cet exemple va rappeler le fichier suivant du répertoire de snapshots. Le chemin par défaut des fichiers de snapshot est le suivant.
EAP_HOME/standalone/configuration/standalone_xml_history/snapshot/20110812-191301472standalone.xml
Les snapshots sont exprimés par leurs chemins relatifs, selon lesquels l'exemple ci-dessus peut être écrit ainsi.jboss.server.config.dir/standalone_xml_history/snapshot/20110812-191301472standalone.xml
- Démarrer le serveur par le snapshot de configuration sélectionné en passant le nom du fichier.
EAP_HOME/bin/standalone.sh --server-config=standalone_xml_history/snapshot/20110913-164449522standalone.xml
Le serveur démarre à nouveau avec la configuration sélectionnée dans le snapshot téléchargé.
2.5.9. Supprimer un snapshot de configuration par l'interface CLI
Conditions préalables
standalone.xml
, mais le même processus s'applique aux fichiers domain.xml
et host.xml
.
Procédure 2.16. Supprimer un snapshot particulier
- Identifier le snapshot à effacer. Cet exemple va effacer le fichier suivant du répertoire de snapshots.
EAP_HOME/standalone/configuration/standalone_xml_history/snapshot/20110630-165714239standalone.xml
- Exécuter la commande
:delete-snapshot
pour supprimer un snapshot particulier, en spécifiant le nom du snapshot comme dans l'exemple ci-dessous.[standalone@localhost:9999 /]
:delete-snapshot(name="20110630-165714239standalone.xml")
{"outcome" => "success"}
Le snapshot a été supprimé.
Procédure 2.17. Supprimer tous les snapshots
- Exécuter la commande
:delete-snapshot(name="all")
pour supprimer tous les snapshots comme dans l'exemple ci-dessous.[standalone@localhost:9999 /]
:delete-snapshot(name="all")
{"outcome" => "success"}
Tous les snapshots ont été supprimés.
2.5.10. Lister tous les snapshots de configuration par l'interface CLI
Conditions préalables
standalone.xml
, mais le même processus s'applique aux fichiers domain.xml
et host.xml
.
Procédure 2.18. Lister tous les snapshots de configuration
Lister tous les snapshots
Lister tous les snapshots sauvegardés en exécutant la commande:list-snapshots
.[standalone@localhost:9999 /]
:list-snapshots
{ "outcome" => "success", "result" => { "directory" => "/home/hostname/EAP_HOME/standalone/configuration/standalone_xml_history/snapshot", "names" => [ "20110818-133719699standalone.xml", "20110809-141225039standalone.xml", "20110802-152010683standalone.xml", "20110808-161118457standalone.xml", "20110912-151949212standalone.xml", "20110804-162951670standalone.xml" ] } }
Les snapshots sont listés.
Chapitre 3. Interfaces de gestion
3.1. Gestion du serveur d'applications
3.2. Les API (de l'anglais Application Programming Interfaces) de gestion
JBoss EAP 6 offre trois approches différentes pour configurer et gérer des serveurs, une interface web, un client de ligne de commande et un ensemble de fichiers de configuration XML. Tandis que les méthodes recommandées pour la modification du fichier de configuration incluent la console de gestion et l'interface CLI, les modifications de configuration de la part des trois sont toujours synchronisées à travers les différentes vues et sont conservées dans les fichiers XML. Notez que les modifications apportées aux fichiers de configuration XML pendant l'exécution d'une instance de serveur seront remplacées par le modèle de serveur.
Le point de terminaison de l'API HTTP est le point d'entrée pour les clients de gestion, comme par exemple la Console de gestion, qui dépend du protocole HTTP pour s'intégrer à la couche de gestion. Ce point de terminaison utilise un protocole JSON encodé et un API de style RPC de-typed, pour décrire et exécuter des opérations de gestion dans un domaine géré ou un serveur autonome. Il est utilisé par la console web, mais offre aussi des possibilités d'intégration pour un large éventail d'autres clients.
Exemple 3.1. Exemple de fichier de configuration HTTP API
<management-interfaces> [...] <http-interface security-realm="ManagementRealm"> <socket-binding http="management-http"/> </http-interface> </management-interfaces>
URL | Description |
---|---|
http://localhost:9990/console | La console de gestion à laquelle accéde l'hôte local, et qui contrôle la configuration du domaine géré. |
http://hostname:9990/console | La console de gestion accédée à distance, qui nomme l'hôte et qui contrôle la configuration du domaine géré. |
http://hostname:9990/management | L'API de gestion HTTP exécute sur le même port que la console de gestion, affiche les mêmes valeurs et attributs bruts exposés à l'API. |
Le CLI de gestion est un exemple d'outil d'API Natif. Cet outil de gestion est disponible à une instance de serveur autonome ou à un domaine, permettant ainsi à un utilisateur de se connecter à une instance du serveur autonome ou au contrôleur du domaine, et d'exécuter des opérations de gestion rendues disponibles par le modèle de gestion de-types.
Exemple 3.2. Exemple de fichier de configuration d'API natif
<management-interfaces> <native-interface security-realm="ManagementRealm"> <socket-binding native="management-native"/> </native-interface> [...] </management-interfaces>
3.3. console de gestion et interface CLI
3.4. La console de gestion
3.4.1. Console de management
3.4.2. Se connecter à la console de gestion
Conditions préalables
- Vous devez créer un utilisateur administratif comme indiqué ici : Section 4.1.1, « Ajouter un utilisateur pour les interfaces de gestion ».JBoss EAP doit être en cours d'exécution.
Naviguer vers la page de démarrage de la console de gestion
Lancez votre navigateur web et accédez à la Console de gestion dans votre navigateur web dans http://localhost:9990/console/App.htmlNote
Port 9990 est prédéfini en tant que liaison de socket de Console de gestion.- Saisir le nom d'utilisateur et le mot de passe du compte que vous avez déjà créés pour vous connecter à l'écran de connexion de la console de gestion.
Figure 3.1. Écran de connexion de la console de gestion
Une fois connecté, vous serez redirigé à l'adresse suivante et la page d'accueil de la Console de gestion apparaîtra : http://localhost:9990/console/App.html#home
3.4.3. Changer la langue de la console de management
Langues prises en charge
- Allemand (de)
- Chinois simplifié (zn-Hans)
- Portugais brézilien (pt-BR)
- Français (fr)
- Espagnol (es)
- Japonais (ja)
Procédure 3.1. Changer la langue de la console de management basée-web
Connectez-vous à la console de gestion.
Connectez-vous à la console de management basée web.Ouvrir le dialogue de configuration.
Dans le coin gauche de l'écran, il y a une étiquette Settings de configuration. Cliquer sur cette étiquette pour ouvrir les paramètres de configuration de la console de management.Sélectionner la langue désirée.
Sélectionner la langue désirée à partir de la case Locale. Puis sélectionner Save. Une autre case explicative vous demande de charger à nouveau l'application. Cliquer sur Confirm. Le système réactualise votre navigateur automatiquement pour pouvoir utiliser les nouveaux paramètres régionaux (Locale).
3.4.4. Données analytiques dans la console EAP
Google Analytics est un service analytique web gratuit qui fournit des statistiques complètes sur un site Web. Il fournit des données essentielles relatives aux visiteurs d'un site comme leurs visites, pages vues, pages par visite et moyenne de temps passé sur le site. Google Analytics fournit une meilleure visibilité sur la présence d'un site Web et ses utilisateurs.
JBoss EAP 6 fournit aux utilisateurs l'option d'activer/de désactiver Google Analytics dans la console de gestion. La fonctionnalité Google Analytics vise à aider les équipes de Red Hat EAP à comprendre comment les clients utilisent la console et quelles parties de la console est particulièrement d'importance aux clients. Cette information aidera l'équipe à adapter l'apparence de la console, ses fonctionnalités et le contenu aux besoins immédiats des clients.
3.4.5. Activer/désactiver Google Analytics dans la console EAP
- Connectez-vous à la console d'administration
- Cliquer sur le boutonen bas et à droite de la console
Figure 3.2. Connectez-vous à l'écran de console d'administration
- Sélectionner la casesur la fenêtre
Settings
et cliquer sur le bouton . Confirmer le rechargement de l'application pour activer les nouveaux paramètres de configuration.Figure 3.3. Configurer Window (Activer Usage Data Collection)
Settings
pour supprimer la sélection, puis cliquer sur le bouton . Confirmer le rechargement de l'application pour activer les nouveaux paramètres de configuration.
Figure 3.4. Configurer Window (Désactiver Usage Data Collection)
Note
3.4.6. Configurer un serveur par la console de management
Conditions préalables
Procédure 3.2. Configurer le serveur
- Sélectionner l'onglet Domain en haut de la console. Les instances de serveur disponibles s'afficheront sur un tableau.
- Sélectionner l'instance de serveur à partir du tableau Available Server Configurations.
- Cliquer surau dessus des informations sur le serveur choisi.
- Procédez avec les changements des attributs de configuration.
- Cliquer sur le boutonpour terminer.
La configuration du serveur a changé, et prendra effet la prochaine fois que le serveur démarrera.
3.4.7. Ajouter un déploiement dans une console de management
Conditions préalables
- Sélectionner l'onglet Runtime en haut de la console.
- Pour un serveur autonome, il vous faudra étendre l'élément de menu Manage Deployments apparaîtra.et sélectionner . Pour un domaine géré, étendre l'élément de menu et sélectionner . Le panneau
- Sélectionner Content Repository. Une boîte de dialogue Create Deployment apparaîtra.dans l'onglet
- Dans la boîte de dialogue, cliquer sur. Cherchez le fichier que vous souhaitez déployer, et sélectionnez-le en vue de son chargement. Cliquer sur pour continuer.
- Vérifier le nom du déploiement et le nom du runtime qui apparaît dans la boîte de dialogue Create Deployments. Sélectionner pour charger le fichier une fois que les noms auront été vérifiés.
Le contenu sélectionné est téléchargé dans le serveur et est maintenant prêt à être déployé.
3.4.8. Créer un nouveau serveur dans la console de management
Conditions préalables
Procédure 3.3. Créer une nouvelle configuration de serveur
Naviguer sur la page Server Configuration qui se trouve dans la console de management
Sélectionner l'onglet Domain en haut de la console.Créer une nouvelle configuration
- Sélectionner le bouton Available Server Configuration.qui se trouve en haut du tableau
- Saisir les paramètres de base du serveur dans la boîte de dialogue Create Server Configuration.
- Cliquer sur le boutonpour enregistrer la nouvelle configuration de votre serveur.
Le nouveau serveur créé est listé dans Server Configurations.
3.4.9. Modifier les niveaux de journalisation par défaut en utilisant la console de management
Procédure 3.4. Modifier les niveaux de journalisation
Naviguer dans le panneau Logging de la console de gestion.
- Si vous travaillez dans un domaine géré, sélectionner l'onglet Configuration en haut de la console, puis, sélectionner le profil qui convient dans la liste déroulante à gauche de la console.
- Pour un domaine géré ou un serveur autonome, étendre le menu Logging.qui se trouve à gauche de la console et cliquer sur
- Cliquer sur l'onglet Log Categories en haut de la console.
Modifier les informations du créateur du journal
Modifer les informations des entrées du tableau Log Categories.- Sélectionner une entrée dans le tableau Log Categories, puis cliquer sur dans la section Details ci-dessous.
- Définir le niveau de journalisation de la catégorie dans la zône déroulante Log Level. Cliquer sur le bouton quand c'est fait.
Les niveaux de journalisation des catégories qui conviennent sont maintenant mis à jour.
3.4.10. Créer un nouveau groupe de service dans la console de gestion
Conditions préalables
Procédure 3.5. Configurer et ajouter un groupe de serveurs
Se rendre dans la vue Server Groups
Sélectionner l'onglet Domain au haut de la console.- Étendre l'étiquette Server dans le menu qui se trouve en haut de la colonne. Sélectionner Server Groups.
Ajouter un groupe de serveurs
Cliquer sur le boutonpour ajouter un nouveau groupe de serveurs.Configurer le groupe de serveurs
- Saisir un nom pour le groupe de serveurs
- Sélectionner le profil d'un groupe de serveurs.
- Sélectionner la liaison de socket du groupe de serveurs.
- Cliquer sur le bouton Save pour sauvegarder le nouveau groupe.
Le nouveau groupe de serveurs est visible dans la console de gestion.
3.4.11. Visualisation des journaux dans la console de gestion
jboss.server.log.dir
. La visionneuse du journal JBoss EAP 6 respecte également les attributions de rôles d'utilisateur RBAC, donc un utilisateur connecté à la console de gestion ne peut voir que des journaux pour lesquels il a l'autorisation d'accès.
Conditions préalables
Procédure 3.6. Visualiser les journaux de JBoss EAP 6 dans la console de gestion
- Sélectionner l'ongleten haut de la console de gestion.
- Si vous utilisez un domaine géré, utilisez le boutondans le menu de gauche pour sélectionner le serveur JBoss EAP 6 dont vous souhaitez afficher les journaux.
- Étendre le menusur la gauche, et sélectionnner le .
- Sélectionner le fichier de journalisation de la liste, et cliquer sur le bouton.Vous pouvez également cliquer sur le boutonpour télécharger le fichier de journalisation de la machine locale.
Note
Le Log Viewer de la console de gestion affiche une confirmation si vous tentez d'ouvrir un fichier de journalisation plus grand que 15 Mo.Le Log Viewer de la console de gestion n'est pas destiné à être un éditeur de texte de remplacement pour l'affichage des fichiers de journalisation très volumineux (> 100Mo). L'ouverture de fichiers journaux très volumineux dans le Log Viewer de la console de gestion peut bloquer votre navigateur web, donc il faut toujours mieux télécharger les gros fichiers de journalisation séparément et les ouvrir dans un éditeur de texte. - Le journal sélectionné ouvrira un nouvel onglet dans la console de gestion, Vous pouvez ouvrir plusieurs fichiers de journalisation dans d'autres onglets en retournant à l'onglet LOG FILES et en répétant l'étape précédente.
3.4.12. Intégration du Portail clients dans la Console de gestion
- Search Customer Portal
- Open Case
- Modify Case
Note
Search Customer Portal
Open Case
Modifier un cas
3.5. L'interface CLI
3.5.1. Gestion par interface en ligne de commande (CLI)
3.5.2. Lancement de l'interface CLI
Conditions préalables :
Procédure 3.7. Lancement du CLI dans un serveur Linux ou Windows
Lancement du CLI dans Linux
Exécutez le fichierEAP_HOME/bin/jboss-cli.sh
en saisissant ce qui suit dans la ligne de commande :$ EAP_HOME/bin/jboss-cli.sh
Lancement du CLI dans un serveur Microsoft Windows
Exécutez le fichierEAP_HOME/bin/jboss-cli.bat
en cliquant deux fois, ou en saisissant ce qui suit dans la ligne de commande :C:\>EAP_HOME\bin\jboss-cli.bat
3.5.3. Quitter l'interface CLI
quit
:
[domain@localhost:9999 /] quit
3.5.4. Se connecter à une instance de serveur géré par l'interface CLI
Conditions préalables
Procédure 3.8. Se connecter à une instance de serveur gérée
Exécutez la commande
connect
À l'aide de l'interface CLI, saisir la commandeconnect
:[disconnected /]
connect
Connected to domain controller at localhost:9999- Sinon, pour vous connecter à un serveur géré quand vous démarrez une interface CLI sur un système Linux, utiliser le paramètre
--connect
:$
EAP_HOME/bin/jboss-cli.sh --connect
- Le paramètre
--connect
peut être utilisé pour indiquer l'hôte et le port du serveur. Pour connecter l'adresse192.168.0.1
à la valeur du port9999
ce qui suit s'applique :$
EAP_HOME/bin/jboss-cli.sh --connect --controller=192.168.0.1:9999
3.5.5. Comment obtenir de l'aide par l'interface CLI
Vous aurez parfois besoin d'aide pour mémoriser une commande d'interface ou pour vous rassurez que vous ne vous trompez pas. L'interface de gestion CLI dispose d'une boîte de dialogue d'assistance avec des options générales et des options sensibles au contexte. (notez que les commandes d'assistance dépendant du contexte de l'opération nécessitent une connexion à un contrôleur de domaine ou à un serveur autonome. Ces commandes ne seront pas affichées dans la liste, sauf si la connexion a été établie.)
Conditions préalables
Obtenir de l'aide générale
Avec le CLI, saisir la commandehelp
:[standalone@localhost:9999 /]
help
Obtenir de l'aide par rapport au contexte
Avec le CLI, saisir la commande étenduehelp -commands
:[standalone@localhost:9999 /]
help --commands
- Pour plus d'informations sur une commande particulière, exécuter la commande suivie de
--help
.[standalone@localhost:9999 /]
deploy --help
L'information d'assistance du CLI s'affichera.
3.5.6. Utiliser l'interface CLI en mode par lot
Le traitement par lot permet à un certain nombre de requêtes d'être groupées par séquences et exécutées ensemble par unité. Si une des demandes opérationnelles d'une séquence échoue, tout le groupe d'opérations sera annulé.
Note
Conditions préalables
Procédure 3.9. Commandes et opérations en mode par lot
Saisir un mode par lot
Saisir le mode par lot par la commandebatch
.[standalone@localhost:9999 /] batch [standalone@localhost:9999 / #]
Le mode par lot est indiqué par le signe (#
) dans l'invite.Ajouter les demandes opérationnelles au lot
Une fois que vous serez en mode par lot, saisir les demandes opérationnelles comme d'habitude. Les demandes opérationnelles sont ajoutées au lot dans l'ordre de saisie.Voir Section 3.5.8, « Utiliser les opérations et les commandes de l'interface CLI » pour obtenir des informations sur la façon de formater les demandes opérationnelles.Exécuter le lot
Une fois que toute la séquence de demandes opérationnelles est saisie, exécuter le lot avec la commanderun-batch
.[standalone@localhost:9999 / #] run-batch The batch executed successfully.
Voir Section 3.5.7, « Commandes CLI Mode Lot » pour obtenir une liste complète des commandes disponibles pour pouvoir travailler avec des lots.Les commandes de lots sont stockées dans des fichiers externes
Les commandes fréquemment exécutées peuvent être stockées dans un fichier texte externe et être chargées en passant le chemin d'accès complet au fichier comme argument à la commandebatch
ou exécutées directement en étant un argument à la commanderun-batch
.Vous pouvez créer un fichier de commande lot avec l'éditeur de texte. Chaque commande doit figurer sur une ligne par elle-même et l'interface CLI doit être en mesure d'y accéder.La commande suivante chargera un fichiermyscript.txt
en mode lot. Toutes les commandes de ce fichier seront alors être prêtes à la modification ou à la suppression. De nouvelles commandes pourront être ajoutées. Les modifications effectuées au cours de cette session de lot ne persistera pas dans le fichiermyscript.txt
.[standalone@localhost:9999 /] batch --file=myscript.txt
Ce qui suit exécutera instantanément les commandes de lot stockées dans le fichiermyscript.txt
[standalone@localhost:9999 /] run-batch --file=myscript.txt
La séquence de demandes opérationnelles saisies est effectuée sous forme de lot.
3.5.7. Commandes CLI Mode Lot
Command Name | Description |
---|---|
list-batch | Liste des commandes et des opérations du lot en cours. |
edit-batch-line line-number edited-command | Modifier une ligne du lot en cours en donnant un numéro de ligne à modifier et la commande éditée. Exemple: edit-batch-line 2 data-source disable --name=ExampleDS . |
move-batch-line fromline toline | Réorganiser les lignes dans le lot en spécifiant le numéro de ligne à déplacer comme premier argument et sa nouvelle position comme deuxième argument. Exemple : move-batch-line 3 1 . |
remove-batch-line linenumber | Supprimer la commande de lot à la ligne indiquée. Exemple: remove-batch-line 3 . |
holdback-batch [batchname] |
Vous pouvez reporter à plus tard ou stocker un lot en cours à l'aide de cette commande. Utiliser cette option si vous voulez soudainement exécuter quelque chose dans la CLI en dehors du lot. Pour revenir à ce lot en attente, tapez simplement
batch à nouveau à la ligne de commande CLI.
Si vous fournissez un nom de lot en utilisant la commande
holdback-batch , le lot sera stocké sous ce nom. Pour retourner au lot nommé, utilisez la commande batch batchname . L'appel de la commande batch sans un nom de lot va commencer un nouveau lot (sans nom). Il peut y avoir qu'un seul lot suspendu sans nom.
Pour voir une liste de tous les lots suspendus, utiliser la commande
batch -l .
|
discard-batch | Rejète le lot actif en cours. |
3.5.8. Utiliser les opérations et les commandes de l'interface CLI
Conditions préalables
Procédure 3.10. Créer, configurer et exécuter les requêtes
Construire la demande opérationnelle
Les demandes opérationnelles facilitent une interaction de bas niveau dans le modèle de gestion. Il s'agit d'une façon contrôlée de modifier les configurations du serveur. Une demande opérationnelle se présente en trois parties :- une adresse, avec une barre oblique devant (
/
). - un nom d'opération, avec deux points (
:
). - un groupe optionnel de paramètres, entre parenthèses (
()
).
Déterminer l'adresse
La configuration est présentée sous forme de ressources auxquelles s'adresser et de façon hiérarchique. Chaque noeud de ressources procure un groupe différent d'opérations. Une adresse utilise la syntaxe suivante :/node-type=node-name
- node-type correspond au type de noeud de ressource. Cela correspond à un nom d'élément dans la configuration XML.
- node-name correspond au nom du nœud. Cela correspond à l'attribut
nom
de l'élément dans la configuration XML. - Séparer chaque niveau de l'arborescence de ressources par une barre oblique (
/
).
Voir les fichiers de configuration XML pour déterminer l'adresse qui convient. Le fichierEAP_HOME/standalone/configuration/standalone.xml
contient la configuration d'un serveur autonome et les fichiersEAP_HOME/domain/configuration/domain.xml
etEAP_HOME/domain/configuration/host.xml
contiennent la configuration d'un domaine géré.Note
Exécuter les commandes CLI en mode de domaine requiert que l'hôte et le serveur soient indiqués. Par exemple,/host=master/server=server-one/subsystem=logging
Exemple 3.3. Exemple d'adresses d'opérations
Pour procéder à une opération dans le sous-système de journalisation, utiliser l'adresse suivante dans la demande opérationnelle :/subsystem=logging
Pour effectuer une opération sur la source de données Java, utiliser l'adresse suivante dans la demande opérationnelle :/subsystem=datasources/data-source=java
Déterminer l'opération
Les opérations diffèrent avec chaque type de nœud de ressource. Une opération utilise la syntaxe suivante ::operation-name
- operation-name correspond au nom de l'opération à demander.
Utiliser l'opérationread-operation-names
sur une adresse de ressources d'un serveur autonome pour lister les opérations disponibles.Exemple 3.4. Opérations disponibles
Pour énumérer toutes les opérations disponibles du sous-système de journalisation, saisir la requête suivante dans un serveur autonome :[standalone@localhost:9999 /] /subsystem=logging:read-operation-names { "outcome" => "success", "result" => [ "add", "read-attribute", "read-children-names", "read-children-resources", "read-children-types", "read-operation-description", "read-operation-names", "read-resource", "read-resource-description", "remove", "undefine-attribute", "whoami", "write-attribute" ] }
Déterminer un paramètre
Chaque opération a sans doute besoin de paramètres différents.Les paramètres utilisent la syntaxe suivante :(parameter-name=parameter-value)
- parameter-name correspond au nom du paramètre.
- parameter-value correspond à la valeur du paramètre.
- Les différents paramètres sont séparés par des virgules (
,
).
Afin de déterminer les paramètres qui conviennent, exécutez la commanderead-operation-description
sur un nœud de ressource, en faisant passer le nom de l'opération en tant que paramètre. Voir Exemple 3.5, « Déterminer les paramètres des opérations » pour plus de détails.Exemple 3.5. Déterminer les paramètres des opérations
Afin de déterminer les paramètres qui conviennent pour l'opérationread-children-types
sur le sous-système de journalisation, saisir la commanderead-operation-description
comme suit :[standalone@localhost:9999 /] /subsystem=logging:read-operation-description(name=read-children-types) { "outcome" => "success", "result" => { "operation-name" => "read-children-types", "description" => "Gets the type names of all the children under the selected resource", "reply-properties" => { "type" => LIST, "description" => "The children types", "value-type" => STRING }, "read-only" => true } }
Saisir toute la demande opérationnelle
Une fois que l'adresse, l'opération et tous les paramètres auront été sélectionnés, saisir la demande opérationnelle complète.Exemple 3.6. Exemple de demande opérationnelle
[standalone@localhost:9999 /]
/subsystem=web/connector=http:read-resource(recursive=true)
L'interface de gestion effectue la demande opérationnelle sur la configuration du serveur.
3.5.9. Options de configuration de l'interface CLI
jboss-cli.xml
- est chargé à chaque fois que le CLI démarre. Il doit se situer dans le répertoire $EAP_HOME/bin
ou dans un système spécifié dans la propriété système jboss.cli.config
.
default-controller
- Configuration du contrôleur auquel il faut vous connecter si la commande
connect
est exécutée sans paramètre.Paramètres de contrôleur par défaut
host
- Nom d'hôte du contrôleur. La valeur par défaut est :
localhost
. port
- Numéro de port sur lequel il faut se connecter au contrôleur. La valeur par défaut est 9999.
validate-operation-requests
- Indique si la liste des paramètres des demandes d'opération doit être validée avant que les demandes ne soient envoyées au contrôleur pour être exécutées. Type : Booléen. Valeur par défaut :
true
. history
- Cet élément contient la configuration pour les commandes et pour le journal de l'historique des opérations.
Paramètres
history
enabled
- Indique si
history
est activé ou non. Type : booléen. Valeur par défaut :true
. - file-name
- Nom du fichier dans lequel l'historique doit être stocké. La valeur par défaut est
.jboss-cli-history
. - file-dir
- Répertoire dans lequel l'historique doit être stocké. La valeur par défaut est =
$USER_HOME
- max-size
- Taille maximum du fichier d'historique. La valeur par défaut : 500.
- resolve-parameter-values
- Indique si l'on doit résoudre les propriétés système qui sont spécifiées comme argument de commande (ou paramètres d'opérations) avant d'envoyer la demande d'opération au contrôleur ou laisser la résolution avoir lieu côté serveur. Type : Booléen. Valeur par défaut :
true
. - connection-timeout
- Durée autorisée pour établir une connexion avec le contrôleur. Type : entier relatif. Valeur par défaut : 5000 secondes.
- ssl
- Cet élément contient la configuration pour les stores Trust et Key utilisés par SSL.
Avertissement
Red Hat recommande que vous désactiviez SSL explicitement en faveur de TLSv1.1 ou TLSv1.2 dans tous les packages affectés.Paramètres
ssl
- archivage sécurisé
- Type :
vaultType
- key-store
- Type : string.
- key-store-password
- Type : string.
- alias
- Type : string
- key-password
- Type : string
- trust-store
- Type : string.
- trust-store-password
- Type : string.
- modify-trust-store
- Si défini à
true
, le CLI invitera l'utilisateur quand des certificats non reconnus auront été reçus et les autorisera à les stocker dans le truststore. Type : Booléen. Valeur par défaut :true
.
vaultType
Quand nicode
oumodule
ne sont précisés. l'implémentation par défaut sera utilisée. Si lecode
est spécifié, mais pas lemodule
il cherchera la classe spécifique dans le module de Picketbox. Si lemodule
et lecode
sont spécifiés, il cherchera la classe spécifiée par lecode
dans le module spécifié par le 'module'.- code
- Type : String.
- module
- Type : string
silent
- Indique si les messages d'erreur et d'information doivent sortir dans le terminal. Même si la valeur
false
est indiquée, les messages continueront d'être enregistrés par le logger si sa configuration le permet et/ou si la cible de sortie est spécifiée dans la ligne de commande par >. La valeur par défaut est :False
.
3.5.10. Références de commandes d'interface CLI
Conditions préalables
La section Section 3.5.5, « Comment obtenir de l'aide par l'interface CLI » décrit comment accéder aux fonctionnalités d'assistance de l'interface CLI. L'interface de gestion dispose d'une boîte de dialogue d'assistance avec des options générales et des options sensibles au contexte. Les commandes d'assistance dépendant du contexte de l'opération nécessitent une connexion à un contrôleur de domaine ou à un serveur autonome. Ces commandes ne seront pas affichées dans la liste, sauf si la connexion a été établie.
Commande | Description |
---|---|
batch | Démarrer le mode par lot en créant un nouveau lot ou, selon les lots existants retenus, réactiver l'un d'entre eux. Si il n'y a pas de lot existant retenu, cette commande, quand elle est invoquée sans argument, va commencer un nouveau lot . S'il y a un lot sans nom existant retenu, cette commande le réactivera. S'il y a des lots existants retenus, mais avec nom, il peuvent être activées en exécutant cette commande avec ce nom comme argument. |
cd | Change le chemin du nœud en cours à l'argument. Le chemin du nœud en cours est utilisé comme adresse pour les requêtes opérationnelles qui ne contiennent pas la partie adresse. Si une opération n'inclut pas d'adresse, l'adresse incluse sera considérée comme relative au chemin du nœud en cours. Le chemin du nœud en cours peut finir en type de nœud. Dans ce cas, exécuter une opération en spécifiant un nom de nœud est suffisant, comme logging:read-resource. |
clear | Efface l'écran |
command | Vous permet d'ajouter, de supprimer ou de lister des commandes existantes de type standard. Une commande de type standard est une commande qui est assignée à un type de nœud spécifique et qui vous permet d'effectuer une opération disponible à une instance de ce type. Elle vous permet de modifier n'importe quelle propriété exposée par le type de n'importe quelle instance existante. |
connect | Connecte le contrôleur à l'hôte et au port spécifiés. |
connection-factory | Définit une usine de connexions |
data-source | Gère les configurations de sources de données JDBC dans le sous-système de la source de données. |
deploy | Déploie l'application désignée par le chemin d'accès au fichier ou bien, active une application qui est pré-existante, mais désactivée dans le référentiel. Si elle est exécutée sans argument, cette commande énumérera tous les déploiements existants. |
echo |
Disponible à partir de JBoss EAP 6.4, la commande
echo produit le texte spécifié dans la console. Le texte est une sortie verbatim donc l'utilisation de variables n'est pas possible.
Exemple :
|
help | Affiche le message d'asistance. Peut être utilisé avec l'argument --commands pour fournir aux commandes données des résultats sensibles au contexte. |
history | Affiche l'historique en mémoire de la commande CLI et affiche un statut pour savoir si l'expansion de l'historique est activée ou non. Peut être utilisé avec des arguments pour effacer, désactiver, ou activer l'expansion de l'historique selon les besoins. |
jms-queue | Définit une file d'attente JMS dans le sous-système de messagerie. |
jms-topic | Définit un topic dans le sous-système de messagerie. |
ls | Lister les contenus du chemin d'accès au nœud. Par défaut, le résultat est imprimé dans des colonnes qui utilisent toute la largeur du terminal. Utiliser -l affichera les résultats sur la base d'un nom par ligne. |
pwd | Affiche le chemin d'accès du nœud pour le nœud en cours |
quit | Termine l'interface de ligne de commande. |
read-attribute | Affiche la valeur et, suivant les arguments, la description de l'attribut d'une ressource gérée. |
read-operation | Affiche la description d'une opération particulière, ou bien liste toutes les opérations si aucune n'est spécifiée. |
undeploy | Annule une demande lorsque celle-ci est exécutée avec le nom de l'application prévue. Peut être exécuté avec des arguments pour supprimer également l'application du référentiel. Imprime la liste de tous les déploiements existants si exécutée sans application spécifiée. |
version | Affiche la version de serveur d'applications et les informations d'environnement. |
xa-data-source | Gére la configuration de la source de données JDBC XA du sous-système de la source de données. |
3.5.11. Référence aux opérations d'interface CLI
Les opérations d'interface CLI peuvent être exposées par l'opération read-operation-names
décrite dans la rubrique Section 3.6.5, « Afficher les noms de l'opération en utilisant l'interface CLI ». Les descriptions des opérations peuvent être exposées par l'opération read-operation-descriptions
décrite dans la rubrique Section 3.6.4, « Affiche une description d'opération en utilisant l'interface CLI ».
Nom de l'opération | Description |
---|---|
add-namespace | Ajoute un mappage de préfixe d'espace-nom à la mappe d'attribut d'espace-nom. |
add-schema-location | Ajoute un schéma de mappage d'emplacement à la mappe d'attribut schema-locations. |
delete-snapshot | Efface un snapshot de la configuration serveur dans le répertoire de snapshots. |
full-replace-deployment | Ajoute le contenu précédemment téléchargé de déploiement à la liste de contenu disponible, remplace le contenu existant du même nom dans le runtime et supprime le contenu remplacé dans la liste de contenu disponible. Voir lien pour plus de renseignements. |
list-snapshots | Liste les snapshots de la configuration du serveur sauvegardée dans le répertoire des snapshots. |
read-attribute | Affiche la valeur d'un attribut d'une ressource sélectionnée. |
read-children-names | Affiche le nom de tous les enfants d'une ressource donnée ayant le type donné. |
read-children-resources | Affiche des informations sur tous les enfants d'une ressource d'un type donné. |
read-children-types | Affiche les noms de types de tous les enfants pour la ressource sélectionnée. |
read-config-as-xml | Lit la configuration actuelle et l'affiche en format XML. |
read-operation-description | Affiche les détails d'une opération de la ressource donnée. |
read-operation-names | Affiche les noms de toutes les opérations de la ressource donnée. |
read-resource | Affiche les valeurs des attributs d'un modèle de ressource avec des informations complètes ou de base sur n'importe quelle ressource enfant. |
read-resource-description | Indique la description des attributs d'une ressource, les types de dépendants et les opérations. |
reload | Charge le serveur à nouveau en fermant tous les services et en redémarrant. |
remove-namespace | Supprime un mappage de préfixe d'espace-nom à la mappe d'attribut d'espace-nom. |
remove-schema-location | Supprime un schéma de mappage d'emplacement à la mappe d'attribut schema-locations. |
replace-deployment | Remplace le contenu existant du runtime par un contenu nouveau. Le nouveau contenu doit avoir été chargé auparavant dans le référentiel du contenu de déploiement. |
resolve-expression | Opération qui accepte une expression comme entrée ou un string pouvant être compris comme une expression, et résolu en fonction du système local de propriétés et des variables d'environnement. |
resolve-internet-address | Prend un ensemble de critères de résolution d'interface et trouve une adresse IP sur une machine locale qui correspond au critère, ou échoue si aucune adresse IP correspondante n'est trouvée. |
server-set-restart-required | Met le serveur en mode «restart-required» |
shutdown | Ferme le serveur via un appel à System.exit(0) . |
start-servers | Démarre tous les serveurs configurés dans un domaine géré qui n'est pas actuellement en cours d'exécution. |
stop-servers | Arrête tous les serveurs actuellement en cours d'exécution dans un domaine géré. |
take-snapshot | Prend un snapshot de la configuration du serveur et la sauvegarde dans le répertoire des snapshots. |
upload-deployment-bytes | Indique si le contenu de déploiement du tableau d'octets inclus doit être ajouté au référentiel du contenu de déploiement. Notez que cette opération n'indique pas que le contenu doive être déployé au runtime. |
upload-deployment-stream | Indique si le contenu de déploiement disponible dans l'index des flux entrants doit être ajouté au référentiel du contenu de déploiement. Notez que cette opération n'indique pas que le contenu doive être déployé au runtime. |
upload-deployment-url | Indique si le contenu de déploiement disponible dans l'URL doit être ajouté au référentiel du contenu de déploiement. Notez que cette opération n'indique pas que le contenu doive être déployé au runtime. |
validate-address | Valide l'adresse de l'opération |
write-attribute | Indique la valeur d'un attribut d'une ressource sélectionnée. |
3.5.12. Substitution dans l'interface de commandes CLI
- la partie adresse d'opération de la demande d'opération (types de nodes et/ou les noms) ;
- nom d'opération ;
- noms de paramètres d'opérations ;
- noms d'en-têtes et valeurs ;
- noms de commandes :
- noms d'arguments de commandes.
Procédure 3.11. Activer la substition de propriété dans l'interface CLI
- Ouvrir le fichier
EAP_HOME/bin/jboss-cli.xml
. - Trouver l'emplacement du paramètre
resolve-parameter-values
et changez-en la valeur àtrue
(la valeur par défaut estfalse
).<!-- whether to resolve system properties specified as command argument or operation parameter values in the Management CLI VM before sending the operation requests to the controller --> <resolve-parameter-values>true</resolve-parameter-values>
resolve-parameter-values
, sauf s'il si celui-ci correspond à une valeur de paramètre/argument.
--properties=/path/to/file.properties
ou bien, un ou plusieurs paramètres -Dkey=VALUE
, quand vous commencez votre instance d'interface CLI. Le fichier de propriétés utilise une syntaxe standard key=value.
${MY_VAR}
.
Exemple 3.7. Exemple : utilisation de propriétés dans les commandes d'interface CLI
/subsystem=datasources/data-source=${datasourcename}:add(connection-url=jdbc:oracle:thin:@server:1521:ora1, jndi-name=java:/jboss/${name}, driver-name=${drivername})
3.6. Opérations de l'interface CLI
3.6.1. Afficher les attributs d'une ressource par l'interface CLI
Conditions préalables
L'opération read-attribute
est une opération globale utilisée pour lire la valeur d'exécution d'un attribut sélectionné. Peut être utilisée pour exposer uniquement les valeurs qui ont été définies par l'utilisateur, en ignorant toute valeur par défaut ou non définie. Les propriétés de la requête incluent les paramètres suivants.
Propriétés de requêtes
name
- Le nom de l'attribut pour obtenir la valeur sous la ressource sélectionnée.
include-defaults
- Un paramètre booléen qui peut être défini à
false
pour limiter les résultats de l'opération aux attributs qui ont été définis par l'utilisateur uniquement, et ignorer les valeurs par défaut.
Procédure 3.12. Affiche la valeur de runtime en cours pour un attribut sélectionné.
Exécuter l'opération
read-attribute
À l'aide de l'interface CLI, utiliser l'opérationread-attribute
pour afficher la valeur d'un attribut de ressource. Pour plus d'informations sur les requêtes d'informations, voir le sujet Section 3.5.8, « Utiliser les opérations et les commandes de l'interface CLI ».[standalone@localhost:9999 /]
:read-attribute(name=name-of-attribute)
read-attribute
est la possibilité d'exposer la valeur d'exécution actuelle d'un attribut spécifique. Des résultats similaires peuvent être obtenus avec l'opération read-attribute
, mais seulement avec l'addition de la propriété de requête include-runtime
, et uniquement dans le cadre d'une liste de toutes les ressources disponibles pour ce nœud. L'opération read-attribute
est destinée aux requêtes d'attribut précises, comme le montre l'exemple suivant.
Exemple 3.8. Exécuter l'opération read-attribute
pour exposer l'IP d'interface publique.
read-attribute
pour renvoyer la valeur exacte dans le runtime en cours.
[standalone@localhost:9999 /] /interface=public:read-attribute(name=resolved-address) { "outcome" => "success", "result" => "127.0.0.1" }
resolved-address
est une valeur de runtime, donc ne s'affiche pas dans les résultats de l'opération read-resource
standard.
[standalone@localhost:9999 /] /interface=public:read-resource { "outcome" => "success", "result" => { "any" => undefined, "any-address" => undefined, "any-ipv4-address" => undefined, "any-ipv6-address" => undefined, "inet-address" => expression "${jboss.bind.address:127.0.0.1}", "link-local-address" => undefined, "loopback" => undefined, "loopback-address" => undefined, "multicast" => undefined, "name" => "public", "nic" => undefined, "nic-match" => undefined, "not" => undefined, "point-to-point" => undefined, "public-address" => undefined, "site-local-address" => undefined, "subnet-match" => undefined, "up" => undefined, "virtual" => undefined } }
resolved-address
ou des autres valeurs de runtime, vous devrez utiliser la propriété de requête include-runtime
.
[standalone@localhost:9999 /] /interface=public:read-resource(include-runtime=true) { "outcome" => "success", "result" => { "any" => undefined, "any-address" => undefined, "any-ipv4-address" => undefined, "any-ipv6-address" => undefined, "inet-address" => expression "${jboss.bind.address:127.0.0.1}", "link-local-address" => undefined, "loopback" => undefined, "loopback-address" => undefined, "multicast" => undefined, "name" => "public", "nic" => undefined, "nic-match" => undefined, "not" => undefined, "point-to-point" => undefined, "public-address" => undefined, "resolved-address" => "127.0.0.1", "site-local-address" => undefined, "subnet-match" => undefined, "up" => undefined, "virtual" => undefined } }
La valeur de l'attribut du runtime en cours est affichée.
3.6.2. Afficher l'utilisateur qui est actif dans l'interface CLI
Conditions préalables
L'opération whoami
est une opération globale utilisée pour identifier les attributs de l'utilisateur actif. L'opération expose l'identité de nom d'utilisateur et le domaine qui leur est attribué. L'opération whoami
est utile pour les administrateurs qui gèrent plusieurs comptes d'utilisateurs dans plusieurs domaines, ou pour aider à assurer le suivi des utilisateurs actifs à travers les instances de domaine avec plusieurs sessions de terminal et les comptes utilisateurs.
Procédure 3.13. Affiche l'utilisateur qui est actif dans l'interface CLI par l'opération whoami
Exécuter l'opération
whoami
À partir de l'interface CLI, utiliser l'opérationwhoami
pour afficher le compte utilisateur actif.[standalone@localhost:9999 /]
:whoami
L'exemple suivant utilise la commandewhoami
dans une instance de serveur autonome pour montrer que l'utilisateur actif est le username, et que l'utilisateur est assigné au domaineManagementRealm
.Exemple 3.9. Utiliser la commande
whoami
dans une instance autonome[standalone@localhost:9999 /]:whoami { "outcome" => "success", "result" => {"identity" => { "username" => "username", "realm" => "ManagementRealm" }} }
Votre compte d'utilisateur actif en cours est affiché
3.6.3. Affiche les informations système et serveur dans l'interface CLI
Conditions préalables
Procédure 3.14. Affiche les informations système et serveur dans l'interface CLI
Exécuter la commande
version
À partir de l'interface CLI, saisir la commandeversion
:[domain@localhost:9999 /]
version
Les informations sur la version de votre serveur d'applications et sur votre environnement s'afficheront.
3.6.4. Affiche une description d'opération en utilisant l'interface CLI
Conditions préalables
Procédure 3.15. Éxécuter la commande CLI suivante
Exécuter l'opération
read-operation-description
À partir de l'interface CLI, utiliserread-operation-description
pour afficher des informations sur l'opération. L'opération requiert des paramètres supplémentaires dans le format d'une paire clé-valeur pour indiquer quelle opération afficher. Pour plus d'informations sur les requêtes d'informations, voir le sujet Section 3.5.8, « Utiliser les opérations et les commandes de l'interface CLI ».[standalone@localhost:9999 /]
:read-operation-description(name=name-of-operation)
Exemple 3.10. Afficher la description de l'opération «list-snapshots»
list-snapshots
.
[standalone@localhost:9999 /] :read-operation-description(name=list-snapshots) { "outcome" => "success", "result" => { "operation-name" => "list-snapshots", "description" => "Lists the snapshots", "request-properties" => {}, "reply-properties" => { "type" => OBJECT, "value-type" => { "directory" => { "type" => STRING, "description" => "The directory where the snapshots are stored", "expressions-allowed" => false, "required" => true, "nillable" => false, "min-length" => 1L, "max-length" => 2147483647L }, "names" => { "type" => LIST, "description" => "The names of the snapshots within the snapshots directory", "expressions-allowed" => false, "required" => true, "nillable" => false, "value-type" => STRING } } }, "access-constraints" => {"sensitive" => {"snapshots" => {"type" => "core"}}}, "read-only" => false } }
La description est affichée pour l'opération choisie.
3.6.5. Afficher les noms de l'opération en utilisant l'interface CLI
Conditions préalables
Procédure 3.16. Éxécuter la commande CLI suivante
Exécuter l'opération
read-operation-names
À partir de l'interface CLI, utiliser l'opérationread-operation-names
pour afficher les noms des opérations disponibles. Pour plus d'informations sur les requêtes d'informations, voir le sujet Section 3.5.8, « Utiliser les opérations et les commandes de l'interface CLI ».[standalone@localhost:9999 /]
:read-operation-names
Exemple 3.11. Afficher les noms de l'opération en utilisant l'interface CLI
read-operation-names
.
[standalone@localhost:9999 /]:read-operation-names
{
"outcome" => "success",
"result" => [
"add-namespace",
"add-schema-location",
"delete-snapshot",
"full-replace-deployment",
"list-snapshots",
"read-attribute",
"read-children-names",
"read-children-resources",
"read-children-types",
"read-config-as-xml",
"read-operation-description",
"read-operation-names",
"read-resource",
"read-resource-description",
"reload",
"remove-namespace",
"remove-schema-location",
"replace-deployment",
"resolve-expression",
"resolve-internet-address",
"server-set-restart-required",
"shutdown",
"take-snapshot",
"undefine-attribute",
"upload-deployment-bytes",
"upload-deployment-stream",
"upload-deployment-url",
"validate-address",
"validate-operation",
"whoami",
"write-attribute"
]
}
Les noms d'opérations disponibles sont affichés.
3.6.6. Afficher les ressources disponibles en utilisant l'interface CLI
Conditions préalables
L'opération read-resource
est une opération globale utilisée pour lire la valeur des ressources. Peut être utilisée pour exposer des informations complètes ou de base sur les ressources des nœuds en cours ou des nœuds enfants, ainsi qu'un ensemble de propriétés de requêtes qui peuvent étendre ou limiter l'étendue des résultats de l'opération. Les propriétés de la requête incluent les paramètres suivants.
Propriétés de requêtes
recursive
- Pour savoir si on doit inclure récursivement des informations complètes sur les ressources enfant.
recursive-depth
- La précision des informations de ressources enfant incluses
proxies
- Si on doit inclure des ressources éloignées pour une recherche récursive. Par exemple, si on doit inclure les ressources niveau hôte à partir des contrôleurs hôtes esclave pour une demande de contrôleur de domaines.
include-runtime
- Si on doit inclure des attributs de runtime dans la réponse, comme des valeurs d'attributs qui ne proviennent pas de la configuration persistante. Cette propriété de requête est définie sur false par défaut.
include-defaults
- Une propriété de demande booléenne qui sert à activer ou à désactiver la lecture des attributs par défaut. Si définie sur false, seuls les attributs définis par l'utilisateur seront renvoyés, ignorant ainsi ceux qui sont non définis.
Procédure 3.17. Éxécuter la commande CLI suivante
Exécuter l'opération
read-resource
Avec l'interface CLI, faites l'opérationread-resource
pour afficher les ressources disponibles.[standalone@localhost:9999 /]
:read-resource
L'exemple suivant vous montre comment il est possible d'utiliser l'opérationread-resource
dans une instance de serveur autonome pour exposer les informations de ressources générales. Les résultats ressemblent au fichier de configurationstandalone.xml
, qui affiche les ressources de système, les extensions, les interfaces et les sous-systèmes installés ou configurés pour l'instance du serveur. Ces résultats peuvent être interrogés directement.Exemple 3.12. Exécuter l'opération
read-resource
niveau racine[standalone@localhost:9999 /]:read-resource { "outcome" => "success", "result" => { "management-major-version" => 1, "management-micro-version" => 0, "management-minor-version" => 7, "name" => "localhost", "namespaces" => [], "product-name" => "EAP", "product-version" => "6.4.0.GA", "profile-name" => undefined, "release-codename" => "Janus", "release-version" => "7.5.0.Final-redhat-17", "schema-locations" => [], "core-service" => { "service-container" => undefined, "server-environment" => undefined, "module-loading" => undefined, "platform-mbean" => undefined, "management" => undefined, "patching" => undefined }, "deployment" => undefined, "deployment-overlay" => undefined, "extension" => { "org.jboss.as.clustering.infinispan" => undefined, "org.jboss.as.connector" => undefined, "org.jboss.as.deployment-scanner" => undefined, "org.jboss.as.ee" => undefined, "org.jboss.as.ejb3" => undefined, "org.jboss.as.jaxrs" => undefined, "org.jboss.as.jdr" => undefined, "org.jboss.as.jmx" => undefined, "org.jboss.as.jpa" => undefined, "org.jboss.as.jsf" => undefined, "org.jboss.as.logging" => undefined, "org.jboss.as.mail" => undefined, "org.jboss.as.naming" => undefined, "org.jboss.as.pojo" => undefined, "org.jboss.as.remoting" => undefined, "org.jboss.as.sar" => undefined, "org.jboss.as.security" => undefined, "org.jboss.as.threads" => undefined, "org.jboss.as.transactions" => undefined, "org.jboss.as.web" => undefined, "org.jboss.as.webservices" => undefined, "org.jboss.as.weld" => undefined }, "interface" => { "management" => undefined, "public" => undefined, "unsecure" => undefined }, "path" => { "jboss.server.temp.dir" => undefined, "user.home" => undefined, "jboss.server.base.dir" => undefined, "java.home" => undefined, "user.dir" => undefined, "jboss.server.data.dir" => undefined, "jboss.home.dir" => undefined, "jboss.server.log.dir" => undefined, "jboss.server.config.dir" => undefined, "jboss.controller.temp.dir" => undefined }, "socket-binding-group" => {"standard-sockets" => undefined}, "subsystem" => { "jaxrs" => undefined, "jsf" => undefined, "jca" => undefined, "jmx" => undefined, "threads" => undefined, "webservices" => undefined, "sar" => undefined, "remoting" => undefined, "infinispan" => undefined, "weld" => undefined, "ejb3" => undefined, "transactions" => undefined, "datasources" => undefined, "deployment-scanner" => undefined, "logging" => undefined, "jdr" => undefined, "pojo" => undefined, "jpa" => undefined, "naming" => undefined, "ee" => undefined, "mail" => undefined, "web" => undefined, "resource-adapters" => undefined, "security" => undefined }, "system-property" => undefined } }
Exécuter l'opération
read-resource
pour un nœud enfantL'opérationread-resource
peut être exécutée pour chercher les nœuds enfants à partir de la racine. La structure de l'opération commence par définir le nœud à exposer, puis s'ajoute à l'opération pour exécuter à ses côtés.[standalone@localhost:9999 /]
/subsystem=web/connector=http:read-resource
Dans l'exemple suivant, on peut exposer des informations de ressources spécifiques sur un composant de sous-système en redirigeant l'opérationread-resource
vers un nœud de sous-système web particulier.Exemple 3.13. Exposer les ressources de nœud enfant à partir d'un nœud racine
[standalone@localhost:9999 /] /subsystem=web/connector=http:read-resource { "outcome" => "success", "result" => { "configuration" => undefined, "enable-lookups" => false, "enabled" => true, "executor" => undefined, "max-connections" => undefined, "max-post-size" => 2097152, "max-save-post-size" => 4096, "name" => "http", "protocol" => "HTTP/1.1", "proxy-name" => undefined, "proxy-port" => undefined, "redirect-port" => 443, "scheme" => "http", "secure" => false, "socket-binding" => "http", "ssl" => undefined, "virtual-server" => undefined } }
Les mêmes résultats sont possibles en utilisant la commandecd
pour naviguer dans les nœuds enfants et en exécutant l'opérationread-resource
directement.Exemple 3.14. Exposer les ressources de nœud enfant en changeant de répertoire
[standalone@localhost:9999 /] cd subsystem=web
[standalone@localhost:9999 subsystem=web] cd connector=http
[standalone@localhost:9999 connector=http] :read-resource { "outcome" => "success", "result" => { "configuration" => undefined, "enable-lookups" => false, "enabled" => true, "executor" => undefined, "max-connections" => undefined, "max-post-size" => 2097152, "max-save-post-size" => 4096, "name" => "http", "protocol" => "HTTP/1.1", "proxy-name" => undefined, "proxy-port" => undefined, "redirect-port" => 443, "scheme" => "http", "secure" => false, "socket-binding" => "http", "ssl" => undefined, "virtual-server" => undefined } }
Utiliser le paramètre récursif pour inclure des valeurs actives dans les résultats
Le paramètre récursif peut être utilisé pour exposer les valeurs de tous les attributs, y compris les valeurs non persistantes, celles qui sont passées au démarrage, ou les autres attributs normalement actifs du modèle d'exécution.[standalone@localhost:9999 /]
/interface=public:read-resource(include-runtime=true)
Par rapport à l'exemple précédent, l'inclusion de la propriété de requêteinclude-runtime
expose des attributs actifs supplémentaires, comme des octets envoyés ou des octets reçus par le connecteur HTTP.Exemple 3.15. Exposer des valeurs actives et supplémentaires par le paramètre
include-runtime
[standalone@localhost:9999 /] /subsystem=web/connector=http:read-resource(include-runtime=true) { "outcome" => "success", "result" => { "any" => undefined, "any-address" => undefined, "any-ipv4-address" => undefined, "any-ipv6-address" => undefined, "inet-address" => expression "${jboss.bind.address:127.0.0.1}", "link-local-address" => undefined, "loopback" => undefined, "loopback-address" => undefined, "multicast" => undefined, "name" => "public", "nic" => undefined, "nic-match" => undefined, "not" => undefined, "point-to-point" => undefined, "public-address" => undefined, "resolved-address" => "127.0.0.1", "site-local-address" => undefined, "subnet-match" => undefined, "up" => undefined, "virtual" => undefined } }
3.6.7. Afficher les descriptions de ressources disponibles en utilisant l'interface CLI
Conditions préalables
Procédure 3.18. Éxécuter la commande CLI suivante
Exécuter l'opération
read-resource-description
À partir du CLI, utiliser l'opérationread-resource-description
pour lire et afficher les noms des ressources disponibles. Pour plus d'informations sur les requêtes d'opérations, voir le sujet Section 3.5.8, « Utiliser les opérations et les commandes de l'interface CLI ».[standalone@localhost:9999 /]
:read-resource-description
Utiliser les paramètres en option
L'opérationread-resource-description
autorise l'utilisation de paramètres supplémentaires.- Utiliser le paramètre
operations
pour inclure les descriptions des opérations de la ressource.[standalone@localhost:9999 /]
:read-resource-description(operations=true)
- Utiliser le paramètre
inherited
pour inclure ou pour exclure des descriptions des opérations héritées de ressource. L'état par défaut est true.[standalone@localhost:9999 /]
:read-resource-description(inherited=false)
- Utiliser le paramètre
recursive
pour inclure les descriptions récursives des ressources dépendantes.[standalone@localhost:9999 /]
:read-resource-description(recursive=true)
- Utiliser le paramètre
locale
pour obtenir la description des ressources. Si « null », la locale régionale par défaut sera utilisée.[standalone@localhost:9999 /]
:read-resource-description(locale=true)
Les descriptions des ressources disponibles sont affichées.
3.6.8. Charger à nouveau le serveur d'applications à l'aide du CLI
Conditions préalables
reload
pour fermer tous les services et démarrer le runtime à nouveau. Une fois que la commande reload
sera complétée, l'interface CLI se reconnectera automatiquement.
Exemple 3.16. Charger à nouveau le serveur d'applications
[standalone@localhost:9999 /]:reload
{"outcome" => "success"}
3.6.9. Fermer le serveur d'applications par l'interface CLI
Conditions préalables
Procédure 3.19. Fermer le serveur d'applications
Exécuter l'opération
shutdown
- À partir du CLI, utiliser l'opération
shutdown
pour fermer le serveur via l'appel de systèmeSystem.exit(0)
. Pour plus d'informations sur les requêtes d'opérations, voir le sujet Section 3.5.8, « Utiliser les opérations et les commandes de l'interface CLI ».- En mode autonome, utiliser la commande suivante :
[standalone@localhost:9999 /]
:shutdown
- En mode domaine, utiliser la commande suivante avec le nom d'hôte qui convient :
[domain@localhost:9999 /]
/host=master:shutdown
- Pour vous connecter à une instance CLI détachée et pour fermer le serveur, exécuter la commande suivante :
jboss-cli.sh --connect command=:shutdown
- Pour vous connecter à une instance CLI éloignée et pour fermer le serveur, exécuter la commande suivante :
[disconnected /] connect IP_ADDRESS [standalone@IP_ADDRESS:9999 /] :shutdown
Remplacer l'IP_ADDRESS par l'adresse IP de votre instance.
Note
(restart=true)
à la commande :shutdown
(comme indiqué ci-dessous) entraînera le redémarrage du serveur.
[standalone@localhost:9999 /]:shutdown(restart=true)
Le serveur d'applications se ferme. Le CLI sera déconnecté car le runtime n'est pas disponible.
3.6.10. Configurer un attribut à l'aide du CLI
Conditions préalables
L'opération write-attribute
est une opération globale utilisée pour écrire ou modifier un attribut de la ressource sélectionnée. Vous pouvez utiliser l'opération pour rendre les modifications persistantes ou pour modifier les paramètres de configuration de vos instances de serveur géré. Les propriétés de la requête incluent les paramètres suivants.
Propriétés de requêtes
name
- Le nom de l'attribut pour définir la valeur sous la ressource sélectionnée.
value
- La valeur désirée de l'attribut sous la ressource sélectionnée. Peut être « null » si le modèle sous-jacent supporte des valeurs « null ».
Procédure 3.20. Configurer un attribut de ressource par l'interface CLI
Exécuter l'opération
write-attribute
À partir de l'interface CLI, utiliser l'opérationwrite-attribute
pour modifier la valeur d'un attribut de ressource. L'opération peut être exécutée dans le nœud dépendant de la ressource, ou bien dans le nœud root du CLI où le chemin de ressource complet est spécifié.
Exemple 3.17. Désactiver le scanner de déploiement par l'opération write-attribute
write-attribute
pour désactiver le scanner de déploiement. L'opération est exécutée à partir d'un nœud root, en utilisant l'onglet de complétion de tâche pour pouvoir peupler le chemin de ressources qui convient.
[standalone@localhost:9999 /] /subsystem=deployment-scanner/scanner=default:write-attribute(name=scan-enabled,value=false) {"outcome" => "success"}
read-attribute
.
[standalone@localhost:9999 /] /subsystem=deployment-scanner/scanner=default:read-attribute(name=scan-enabled) { "outcome" => "success", "result" => false }
read-resource
. Dans l'exemple suivant, cette configuration particulière vous montre que l'attribut scan-enabled
est maintenant défini à false
.
[standalone@localhost:9999 /] /subsystem=deployment-scanner/scanner=default:read-resource { "outcome" => "success", "result" => { "auto-deploy-exploded" => false, "auto-deploy-xml" => true, "auto-deploy-zipped" => true, "deployment-timeout" => 600, "path" => "deployments", "relative-to" => "jboss.server.base.dir", "scan-enabled" => false, "scan-interval" => 5000 } }
L'attribut de ressource est mis à jour.
3.6.11. Configurer les propriétés système par l'interface CLI
Procédure 3.21. Configurer les propriétés système par l'interface CLI
- Démarrer le serveur JBoss EAP.
- Lancer l'interface CLI par la commande pour votre système d'exploitation.Dans Linux :
Dans Windows :EAP_HOME/bin/jboss-cli.sh --connect
EAP_HOME\bin\jboss-cli.bat --connect
- Ajouter une propriété système.La commande que vous utilisez dépend de savoir si vous utilisez un serveur autonome ou un domaine géré. Si vous utilisez un domaine géré, vous pouvez ajouter des propriétés système à un ou à plusieurs serveurs exécutant sur ce domaine.
- Ajouter une propriété système sur un serveur autonome en utilisant la syntaxe suivante :
/system-property=PROPERTY_NAME:add(value=PROPERTY_VALUE)
Exemple 3.18. Ajouter une propriété système sur un serveur autonome
[standalone@localhost:9999 /] /system-property=property.mybean.queue:add(value=java:/queue/MyBeanQueue) {"outcome" => "success"}
- Ajouter une propriété système sur tous les hôtes et serveurs d'un domaine géré en utilisant la syntaxe suivante :
/system-property=PROPERTY_NAME:add(value=PROPERTY_VALUE)
Exemple 3.19. Ajouter une propriété système à tous les serveurs d'un domaine géré
[domain@localhost:9999 /] /system-property=property.mybean.queue:add(value=java:/queue/MyBeanQueue) { "outcome" => "success", "result" => undefined, "server-groups" => {"main-server-group" => {"host" => {"master" => { "server-one" => {"response" => {"outcome" => "success"}}, "server-two" => {"response" => {"outcome" => "success"}} }}}} }
- Ajouter une propriété système à un hôte et à ses instances de serveur d'un domaine géré en utilisant la syntaxe suivante :
/system-property=PROPERTY_NAME:add(value=PROPERTY_VALUE)
Exemple 3.20. Ajouter une propriété système à un hôte et à ses serveurs dans un domaine
[domain@localhost:9999 /] /host=master/system-property=property.mybean.queue:add(value=java:/queue/MyBeanQueue) { "outcome" => "success", "result" => undefined, "server-groups" => {"main-server-group" => {"host" => {"master" => { "server-one" => {"response" => {"outcome" => "success"}}, "server-two" => {"response" => {"outcome" => "success"}} }}}} }
- Ajouter une propriété système à une instance de serveur d'un domaine géré en utilisant la syntaxe suivante :
/system-property=PROPERTY_NAME:add(value=PROPERTY_VALUE)
Exemple 3.21. Ajouter une propriété système à une instance de serveur d'un domaine géré
[domain@localhost:9999 /] /host=master/server-config=server-one/system-property=property.mybean.queue:add(value=java:/queue/MyBeanQueue) { "outcome" => "success", "result" => undefined, "server-groups" => {"main-server-group" => {"host" => {"master" => {"server-one" => {"response" => {"outcome" => "success"}}}}}} }
- Lire une propriété système.La commande que vous utilisez dépend de savoir si vous exécutez sur un serveur autonome ou un domaine géré.
- Lire une propriété système sur un serveur autonome en utilisant la syntaxe suivante :
/system-property=PROPERTY_NAME:read-resource
Exemple 3.22. Lire une propriété système sur un serveur autonome
[standalone@localhost:9999 /] /system-property=property.mybean.queue:read-resource { "outcome" => "success", "result" => {"value" => "java:/queue/MyBeanQueue"} }
- Lire une propriété système sur tous les hôtes et serveurs d'un domaine géré en utilisant la syntaxe suivante :
/system-property=PROPERTY_NAME:read-resource
Exemple 3.23. Lire une propriété système de tous les serveurs dans un domaine géré
[domain@localhost:9999 /] /system-property=property.mybean.queue:read-resource { "outcome" => "success", "result" => { "boot-time" => true, "value" => "java:/queue/MyBeanQueue" } }
- Lire une propriété système d'un hôte et de ses instances de serveur d'un domaine géré en utilisant la syntaxe suivante :
/host=master/system-property=PROPERTY_NAME:read-resource
Exemple 3.24. Lire une propriété système d'un hôte et de ses serveurs dans un domaine
[domain@localhost:9999 /] /host=master/system-property=property.mybean.queue:read-resource { "outcome" => "success", "result" => { "boot-time" => true, "value" => "java:/queue/MyBeanQueue" } }
- Lire une propriété système d'une instance de serveur d'un domaine géré en utilisant la syntaxe suivante :
/host=master/server-config=server-one/system-property=PROPERTY_NAME:read-resource
Exemple 3.25. Lire une propriété système d'une instance de serveur dans un domaine géré
[domain@localhost:9999 /] /host=master/server-config=server-one/system-property=property.mybean.queue:read-resource { "outcome" => "success", "result" => { "boot-time" => true, "value" => "java:/queue/MyBeanQueue" } }
- Supprimer une propriété système.La commande que vous utilisez dépend de savoir si vous exécutez sur un serveur autonome ou un domaine géré.
- Supprimer une propriété système sur un serveur autonome en utilisant la syntaxe suivante :
/system-property=PROPERTY_NAME:remove
Exemple 3.26. Supprimer une propriété système sur un serveur autonome
[standalone@localhost:9999 /] /system-property=property.mybean.queue:remove {"outcome" => "success"}
- Supprimer une propriété système de tous les hôtes et serveurs d'un domaine géré en utilisant la syntaxe suivante :
/system-property=PROPERTY_NAME:remove
Exemple 3.27. Supprimer une propriété système de tous les hôtes et de ses serveurs dans un domaine.
[domain@localhost:9999 /] /system-property=property.mybean.queue:remove { "outcome" => "success", "result" => undefined, "server-groups" => {"main-server-group" => {"host" => {"master" => { "server-one" => {"response" => {"outcome" => "success"}}, "server-two" => {"response" => {"outcome" => "success"}} }}}} }
- Supprimer une propriété système d'un hôte et de ses instances de serveur dans un domaine géré en utilisant la syntaxe suivante :
/host=master/system-property=PROPERTY_NAME:read-resource
Exemple 3.28. Supprimer une propriété système d'un hôte et de ses serveurs dans un domaine
[domain@localhost:9999 /] /host=master/system-property=property.mybean.queue:remove { "outcome" => "success", "result" => undefined, "server-groups" => {"main-server-group" => {"host" => {"master" => { "server-one" => {"response" => {"outcome" => "success"}}, "server-two" => {"response" => {"outcome" => "success"}} }}}} }
- Supprimer une propriété système d'une instance de serveur d'un domaine géré en utilisant la syntaxe suivante :
/host=master/server-config=server-one/system-property=PROPERTY_NAME:remove
Exemple 3.29. Supprimer une propriété système d'un serveur dans un domaine géré
[domain@localhost:9999 /] /host=master/server-config=server-one/system-property=property.mybean.queue:remove { "outcome" => "success", "result" => undefined, "server-groups" => {"main-server-group" => {"host" => {"master" => {"server-one" => {"response" => {"outcome" => "success"}}}}}} }
3.7. Historique des commandes de l'interface CLI
3.7.1. Utiliser l'historique de commandes à l'aide de l'interface CLI.
.jboss-cli-history
. Le fichier de l'historique est configuré par défaut pour enregistrer un maximum de 500 commandes CLI.
history
elle-même renverra l'historique de la session en cours, ou si accompagnée d'arguments, elle pourra désactiver, activer ou supprimer l'historique de la mémoire de session. L'interface CLI vous donne également la possibilité d'utiliser les flèches de votre clavier pour naviguer dans l'historique des commandes et des opérations.
Fonctions de l'historique de l'interface CLI
3.7.2. Afficher l'historique de commandes par interface CLI.
Conditions préalables
Procédure 3.22. Afficher l'historique de commandes par l'interface CLI.
Exécuter la commande
history
À partir de l'interface CLI, saisir la commandehistory
:[standalone@localhost:9999 /]
history
L'historique de la commande CLI stocké en mémoire depuis le démarrage du CLI ou la commande de suppression de l'historique est affiché.
3.7.3. Effacer l'historique de commandes par interface CLI.
Conditions préalables
Procédure 3.23. Effacer l'historique de commandes par interface CLI.
Exécuter la commande
history --clear
À partir de l'interface CLI, saisir la commandehistory--clear
:[standalone@localhost:9999 /]
history --clear
L'historique des commandes enregistré depuis le démarrage du CLI est supprimé de la mémoire de session. L'historique de la commande est toujours présent dans le fichier .jboss-cli-history
qui est sauvegardé dans le répertoire d'accueil de l'utilisateur.
3.7.4. Désactiver l'historique de commandes par l'interface CLI.
Conditions préalables
Procédure 3.24. Désactiver l'historique de commandes par l'interface CLI.
Exécuter la commande
history --disable
À partir de l'interface CLI, saisir la commandehistory --disable
:[standalone@localhost:9999 /]
history --disable
Les commandes passées dans le CLI ne seront pas enregistrées dans la mémoire ou dans un fichier .jboss-cli-history
sauvegardé dans le répertoire d'accueil de l'utilisateur.
3.7.5. Activer l'historique des commandes de l'interface CLI
Conditions préalables
Procédure 3.25. Activer l'historique des commandes de l'interface CLI
Exécuter la commande
history --enable
À partir de l'interface CLI, saisir la commandehistory --enable
:[standalone@localhost:9999 /]
history --enable
Les commandes passées dans le CLI seront enregistrées dans la mémoire ou dans un fichier .jboss-cli-history
sauvegardé dans le répertoire d'accueil de l'utilisateur.
3.8. La journalisation d'auditing de l'interface de gestion
3.8.1. La journalisation d'auditing de l'interface de gestion
Note
Note
/host=HOST_NAME
à la commande si vous devez appliquer les changements à un domaine géré.
[... /] /core-service=management/access=audit:read-resource(recursive=true)
3.8.2. Activer la Journalisation d'auditing de l'interface de gestion par l'intermédiaire d'un fichier.
Note
/host=HOST_NAME
à la commande suivante.
/core-service=management/access=audit/logger=audit-log:write-attribute(name=enabled,value=true)
- En mode autonome :
EAP_HOME/standalone/data/audit-log.log
- En mode de domaine :
EAP_HOME/domain/data/audit-log.log
3.8.3. Activer la journalisation d'auditing de l'interface de gestion par le serveur syslog.
Note
/host=HOST_NAME
à la commande /core-service
.
Procédure 3.26. Activer la journalisation d'auditing sur un serveur syslog
Activer la journalisation d'auditing
Exécutez la commande suivante :[.. /]/core-service=management/access=audit/logger=audit-log:write-attribute(name=enabled,value=true)
Créer un gestionnaire
syslog
Dans cet exemple, le serveursyslog
exécute sur le même serveur en tant qu'instance JBoss EAP, sur le port 514. Remplacer les valeurs de l'attributhost
par des valeurs appropriées à votre environnement.Exemple 3.30. Exemple de gestionnaire syslog
[.. /]batch [.. / #]/core-service=management/access=audit/syslog-handler=mysyslog:add(formatter=json-formatter) [.. / #]/core-service=management/access=audit/syslog-handler=mysyslog/protocol=udp:add(host=localhost,port=514) [.. /]run-batch
Ajouter une référence au gestionnaire
syslog
Exécuter ce qui suit :[.. /]/core-service=management/access=audit/logger=audit-log/handler=mysyslog:add
Les entrées de journalisation de l'auditing de l'interface de gestion sont alors enregistrées sur le serveur syslog
.
3.8.4. Lire une Journalisation d'auditing de l'interface de gestion
Note
Nom de champ | Description |
---|---|
type | Peut avoir pour valeur core , indiquant ainsi qu'il s'agit d'une opération de gestion, ou jmx indiquant une provenance de sous-système JMX (voir le sous-système JMX pour la configuration de la journalisation de l'auditing du sous-système JMX). |
r/o | Sur true si l'opération ne modifie pas le modèle de gestion, sinon false . |
booting | Sur true si l'opération a été exécutée à l'amorçage, false si elle a été exécutée une fois que le serveur était en route. |
version | Le numéro de version de l'instance JBoss EAP. |
user | Le nom d'utilisateur de l'utilisateur authentifié. Si l'opération a été journalisée par l'interface CLI sur le même ordinateur que le serveur en cours d'exécution, l'utilisateur spécial $local sera utilisé. |
domainUUID | Un identifiant pour relier toutes les opérations tandis qu'elles sont propagées du contrôleur de domaines vers ses serveurs, ses contrôleurs hôtes, et ses serveurs de contrôleurs hôtes esclaves. |
access | Peut avoir une des valeurs suivantes :
|
remote-address | L'adresse du client qui exécute l'opération. |
success | Sur true si l'opération a réussi, false si non. |
ops | Les opérations en cours. Liste des opérations sérialisées dans JSON. Au démarrage, cela correspond à toutes les opérations résultant du traitement XML. Une fois démarré, la liste contient normalement une seule entrée. |
Chapitre 4. Gestion des utilisateurs
4.1. Création d'utilisateur
4.1.1. Ajouter un utilisateur pour les interfaces de gestion
Les instances de gestion de JBoss EAP 6 sont sécurisés par défaut car il n'y a aucun compte d'utilisateur disponible au départ, (sauf si vous avez installé la plateforme à l'aide de l'installateur graphique.) Il s'agit d'une mesure de précaution visant à éviter les failles de sécurité qui peuvent découler de simples erreurs de configuration.
Procédure 4.1. Créer l'utilisateur administratif d'origine pour les interfaces de gestion distantes
Éxécuter le script
add-user.sh
ouadd-user.bat
.Passez au répertoireEAP_HOME/bin/
. Invoquer le script qui convient à votre système d'exploitation.- Red Hat Enterprise Linux
[user@host bin]$
./add-user.sh- Microsoft Windows Server
C:\bin>
add-user.bat
Choisissez d'utiliser un utilisateur Management.
Appuyer sur ENTER pour sélectionner l'optiona
pour ajouter un utilisateur Management.Cet utilisateur sera ajouté au domaineManagementRealm
et il sera autorisé à effectuer des opérations de gestion par la Management Console basée web ou par l'interface CLI basé sur la ligne de commande. Autre alternative,b
, ajoutera l'utilisateur au domaineApplicationRealm
, et ne fournit aucune permission particulière. Ce domaine est fourni pour être utilisé avec des applications.Saisir le nom d'utilisateur et le mot de passe que vous souhaitez.
Quand on vous y invite, saisir le nom d'utilisateur et le nom de passe. On vous demandera de saisir le mot de passe une seconde fois pour confirmer.Saisissez les informations sur votre groupe.
Ajouter le groupe ou les groupes auxquels l'utilisateur appartient. Si l'utilisateur appartient à plusieurs groupes, saisir une liste séparée par des virgules. Laisser vide si vous ne souhaitez pas que l'utilisateur appartienne à un groupe.Vérifier les informations et confirmer.
On vous invitera à confirmer les informations. Quand vous serez satisfait, saisiryes
.Décidez si l'utilisateur représente une instance de serveur de JBoss EAP 6 à distance.
En plus des administrateurs, un autre type d'utilisateur qui a parfois besoin d'être ajouté à JBoss EAP 6 dans le domaineManagementRealm
est un utilisateur qui représente une autre instance de JBoss EAP 6, et qui a besoin d'être authentifié pour rejoindre un groupement en tant que membre. L'invite suivante vous permet de désigner votre utilisateur supplémentaire dans ce but. Si vous sélectionnezyes
, on vous donnera une valeursecret
de hachage, qui représentera le mot de passe de l'utilisateur, que vous aurez besoin d'ajouter dans un fichier de configuration différent. Dans le but de cette tâche, répondreno
à cette question.Saisir des utilisateurs supplémentaires.
Vous pouvez saisir des utilisateurs supplémentaires si vous le souhaitez, en répétant la procédure. Vous pouvez également les ajouter à tout moment sur un système en cours d'exécution. Au lieu de choisir le domaine de sécurité par défaut, vous pouvez ajouter des utilisateurs d'autres domaines afin d'ajuster leurs autorisations.Créer des utilisateurs en mode non interactif.
Vous pouvez créer des utilisateurs en mode non interactif, en l'indiquant dans chaque paramètre de ligne de commande. Cette approche n'est pas recommandée sur les systèmes partagés, parce que les mots de passe seront visibles dans les fichiers de journalisation (log) et dans les fichiers d'historique. La syntaxe de la commande, pour le domaine de gestion, est la suivante :[user@host bin]$
./add-user.sh username passwordPour utiliser le domaine d'application, utiliser le paramètre-a
.[user@host bin]$
./add-user.sh -a username password- Vous pouvez supprimer la sortie normale du script d'ajout d'utilisateur en passant le paramètre
--silent
. Cela s'applique uniquement si un minimum de paramètres,nom d'utilisateur
etmot de passe
, ont été indiqués. Le message d'erreur apparaîtra toujours.
Tout utilisateur que vous ajoutez est activé dans les domaines de sécurité que vous avez indiqués. Les utilisateurs actifs dans le domaine ManagementRealm
sont en mesure de gérer la plateforme JBoss EAP 6 à partir de systèmes éloignés.
4.1.2. Passer des arguments au script add-user de la gestion utilisateur
add-user.sh
ou add-user.bat
interactivement ou vous pouvez passer des arguments par la ligne de commande. Cette section décrit les options qui se présentent pour passer des arguments en ligne de commande au script add-user.
add-user.sh
ou add-user.bat
, consulter Section 4.1.3, « Arguments pour la commande Add-user » .
add-user.sh
ou add-user.bat
, consulter Section 4.1.5, « Exemples de lignes de commande de script Add-user » .
4.1.3. Arguments pour la commande Add-user
add-user.sh
ou add-user.bat
.
Argument de ligne de commande | Valeur d'argument | Description |
---|---|---|
-a
|
S/O
|
Cet argument demande de créer un utilisateur dans le domaine de l'application. S'il est omis, un utilisateur sera créé par défaut dans le domaine de gestion.
|
-dc
|
DOMAIN_CONFIGURATION_DIRECTORY
|
Cet argument spécifie le répertoire de configuration de domaine qui contient les fichiers de propriétés. S'il est omis, le répertoire par défaut sera
EAP_HOME/domain/configuration/ .
|
-sc
|
SERVER_CONFIGURATION_DIRECTORY
|
Cet argument spécifie un répertoire de configuration de serveur autonome différent qui contient les fichiers de propriétés. S'il est omis, le répertoire par défaut sera
EAP_HOME/standalone/configuration/ .
|
-up
--user-properties
|
USER_PROPERTIES_FILE
|
Cet argument spécifie le nom d'un autre fichier de propriétés utilisateur. Il peut correspondre à un chemin absolu ou il peut correspondre à un nom de fichier utilisé en conjonction avec l'argument
-sc ou -dc qui spécifie le répertoire de configuration alternatif.
|
-g
--group
|
GROUP_LIST
|
Une liste séparée par des virgules de groupes à assigner à cet utilisateur.
|
-gp
--group-properties
|
GROUP_PROPERTIES_FILE
|
Cet argument spécifie le nom d'un autre fichier de propriétés de groupe. Il peut correspondre à un chemin absolu ou il peut correspondre à un nom de fichier utilisé en conjonction avec l'argument
-sc ou -dc qui spécifie le répertoire de configuration alternatif.
|
-p
--password
|
PASSWORD
|
Le mot de passe utilisateur. Le mot de passe doit remplir les critères suivants :
|
-u
--user
|
USER_NAME
|
Le nom de l'utilisateur. Seuls les caractères alphanumériques et les symboles suivants sont valides : ,./=@\.
|
-r
--realm
|
REALM_NAME
|
Le nom du domaine utilisé pour sécuriser les interfaces de gestion. S'il est omis, la valeur par défaut sera
ManagementRealm .
|
-s
--silent
|
S/O
|
Exécuter le script add-user sans sortie vers la console.
|
-h
--help
|
S/O
|
Afficher les informations d'utilisation du script add--user.
|
4.1.4. Spécifier des fichiers de propriétés alternatifs pour les informations de gestion des utilisateurs
Par défaut, les informations utilisateurs et rôles créés à l'aide du script add-user.sh
ou Add-user.bat
sont stockées dans des fichiers de propriétés situés dans le répertoire de configuration de serveur. Les informations de configuration du serveur sont stockées dans le répertoire EAP_HOME/standalone/configuration/
et les informations de configuration de domaine sont stockées dans le répertoire EAP_HOME/domaine/configuration/
. Cette rubrique décrit comment substituer les noms de fichier et emplacements par défaut.
Procédure 4.2. Spécifier des fichiers de propriétés alternatifs
- Pour spécifier un autre répertoire pour la configuration du serveur, utilisez l'argument
-sc
. Cet argument spécifie un autre répertoire qui contiendra les fichiers de propriétés de configuration de serveur. - Pour spécifier un répertoire alternatif de configuration de domaine, utiliser l'argument
-dc
. Cet argument spécifie un répertoire alternatif qui contient les fichiers de propriétés de configuration de domaines. - Pour spécifier un fichier de configuration utilisateur différent, utiliser l'argument
-up
ou--user-properties
. Peut correspondre à un chemin complet ou à un nom de fichier utilisé en conjonction avec-sc
ou-dc
spécifiant le répertoire de configuration alternatif. - Pour spécifier un fichier de configuration de groupe différent, utiliser l'argument
-up
ou--group-properties
. Peut correspondre à un chemin complet ou à un nom de fichier utilisé en conjonction avec-sc
ou-dc
indiquant le répertoire de configuration alternatif.
Note
add-user
a pour but d'opérer sur des fichiers de propriétés existants. Tout fichier de propriété alternatif spécifié dans un argument de ligne de commande devra sortir là où vous verrez l'erreur suivante :
JBAS015234: No appusers.properties files found
4.1.5. Exemples de lignes de commande de script Add-user
add-user.sh
ou add-user.bat
. À moins que cela soit notifié, ces commandes supposent la configuration d'un serveur autonome.
Exemple 4.1. Créer un utilisateur qui appartienne à un groupe unique en utilisant les fichiers de propriétés par défaut.
EAP_HOME/bin/add-user.sh -a -u 'appuser1' -p 'password1!' -g 'guest'
- L'utilisateur
appuser1
est ajouté aux fichiers de propriétés suivants par défaut qui contiennent les informations utilisateur.EAP_HOME/standalone/configuration/application-users.properties
EAP_HOME/domain/configuration/application-users.properties
- L'utilisateur
appuser1
ayant pour groupeguest
est ajouté aux fichiers de propriétés suivants par défaut qui contiennent les informations utilisateur.EAP_HOME/standalone/configuration/application-roles.properties
EAP_HOME/domain/configuration/application-roles.properties
Exemple 4.2. Créer un utilisateur qui appartienne à plusieurs groupes en utilisant les fichiers de propriétés par défaut.
EAP_HOME/bin/add-user.sh -a -u 'appuser1' -p 'password1!' -g 'guest,app1group,app2group'
- L'utilisateur
appuser1
est ajouté aux fichiers de propriétés suivants par défaut qui contiennent les informations utilisateur.EAP_HOME/standalone/configuration/application-users.properties
EAP_HOME/domain/configuration/application-users.properties
- L'utilisateur
appuser1
ayant pour groupesguest
,app1group
, etapp2group
est ajouté aux fichiers de propriétés suivantes par défaut qui contiennent les informations utilisateur.EAP_HOME/standalone/configuration/application-roles.properties
EAP_HOME/domain/configuration/application-roles.properties
Exemple 4.3. Créer un utilisateur ayant des privilèges admin dans le domaine par défaut en utilisant les fichiers de propriétés par défaut.
EAP_HOME/bin/add-user.sh -u 'adminuser1' -p 'password1!' -g 'admin'
- L'utilisateur
adminuser1
est ajouté aux fichiers de propriétés suivantes par défaut qui contiennent les informations utilisateur.EAP_HOME/standalone/configuration/mgmt-users.properties
EAP_HOME/domain/configuration/mgmt-users.properties
- L'utilisateur
adminuser1
ayant pour groupeadmin
est ajouté aux fichiers de propriétés suivants par défaut qui contiennent les informations utilisateur.EAP_HOME/standalone/configuration/mgmt-groups.properties
EAP_HOME/domain/configuration/mgmt-groups.properties
Exemple 4.4. Créer un utilisateur qui appartienne à un groupe unique en utilisant des fichiers de propriétés alternatifs pour stocker des informations.
EAP_HOME/bin/add-user.sh -a -u appuser1 -p password1! -g app1group -sc /home/someusername/userconfigs/ -up appusers.properties -gp appgroups.properties
- L'utilisateur
appuser1
est ajouté aux fichiers de propriétés suivants et ce fichier est maintenant le fichier par défaut qui contient les informations utilisateur./home/someusername/userconfigs/appusers.properties
- L'utilisateur
appuser1
ayant pour groupeapp1group
est ajouté aux fichiers de propriétés suivants et ce fichier est maintenant le fichier par défaut qui contient les informations utilisateur./home/someusername/userconfigs/appgroups.properties
Chapitre 5. Réseau et configuration de port
5.1. Interfaces
5.1.1. Les interfaces
domain.xml
, host.xml
et standalone.xml
comprennent tous des déclarations d'interface. Les critères de déclaration peuvent référencer une adresse générique ou spécifier un ensemble de caractéristiques qu'une interface ou une adresse doit avoir pour pouvoir établir une correspondance valide. Les exemples suivants illustrent plusieurs configurations possibles de déclarations d'interface, généralement définies soit dans le fichier de configuration standalone.xml
ou host.xml
. Cela permet à des groupes d'hôtes distants de maintenir leurs propres attributs d'interfaces spécifiques, tout en permettant une référence aux groupes d'interfaces dans le fichier de configuration domain.xml
du contrôleur de domaine.
inet-address
indiquée pour le groupe de noms relatifs management
et public
.
Exemple 5.1. Un groupe d'interfaces créé avec une adresse inet
<interfaces> <interface name="management"> <inet-address value="127.0.0.1"/> </interface> <interface name="public"> <inet-address value="127.0.0.1"/> </interface> </interfaces>
any-address
pour déclarer une adresse générique.
Exemple 5.2. Un groupe global créé avec une déclaration générique
<interface name="global"> <!-- Use the wild-card address --> <any-address/> </interface>
externe
.
Exemple 5.3. Un groupe externe créé avec un NIC
<interface name="external"> <nic name="eth0"/> </interface>
Exemple 5.4. Un groupe par défaut créé avec des valeurs conditionnelles spécifiques
<interface name="default"> <!-- Match any interface/address on the right subnet if it's up, supports multicast, and isn't point-to-point --> <subnet-match value="192.168.0.0/16"/> <up/> <multicast/> <not> <point-to-point/> </not> </interface>
5.1.2. Configurer les interfaces
standalone.xml
et host.xml
offrent trois interfaces nommées avec jetons d'interfaces relatives pour chacune. Vous pouvez utiliser la console de gestion ou l'interface CLI pour configurer des attributs et valeurs supplémentaires indiquées dans le tableau ci-dessous. Vous pouvez également remplacer les liaisons d'interfaces relatives par des valeurs spécifiques selon les besoins, mais notez que si vous le faites, vous serez incapable de passer une valeur d'interface en cours d'exécution de serveur, car -b
> peut seulement substituer une valeur relative.
Exemple 5.5. Configuration d'interface par défaut
<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface> <interface name="unsecure"> <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/> </interface> </interfaces>
Élément d'interface | Description |
---|---|
any | Élément vide de type exclusion d'adresse, utilisé pour forcer le critère de sélection. |
any-address | Élément vide indiquant que les sockets qui utilisent cette interface doivent être liés à une adresse générique. L'adresse générique IPv6 (::) sera utilisée à moins que la propriété système java.net.preferIpV4Stack soit définie sur true, dans lequel cas, l'adresse générique (0.0.0.0) IPv4 sera utilisée. Si un socket est lié à une adresse anylocal IPv6 sur une machine dual-stack, il pourra accepter le trafic IPv6 et IPv4 ; si lié à l'adresse IPv4 anylocal (mappées IPv4), il ne peut accepter que le trafic IPv4. |
any-ipv4-address | Élément vide indiquant que les sockets qui utilisent cette interface doivent être liés à une adresse générique (0.0.0.0) IPv4. |
any-ipv6-address | Élément vide indiquant que les sockets qui utilisent cette interface doivent être liés à une adresse générique (::). IPv6. |
inet-address | Soit une adresse IP en notation à points IPV6 ou IPV4, ou un nom d'hôte pouvant être résolu. |
link-local-address | Élément vide indiquant qu'une partie du critère de sélection d'une interface devrait consister à savoir si oui ou non il a une adresse associée local-link. |
loopback | Élément vide indiquant qu'une partie du critère de sélection d'une interface est de savoir s'il s'agit oui ou non d'une interface de loopback. |
loopback-address | Une adresse de loopback qui ne peut pas réellement être configurée sur l'interface de loopback de la machine. Diffère d'inet-addressType car la valeur donnée sera utilisée même si aucune carte réseau possédant l'adresse IP associée ne peut être trouvée. |
multicast | Élément vide indiquant qu'une partie du critère de sélection d'une interface doit être si oui ou non il y a un support multi-diffusion. |
nic | Le nom d'une interface de réseau (e.g. eth0, eth1, lo). |
nic-match | Une expression standard à laquelle faire correspondre les noms des interfaces de réseau disponibles sur la machine pour trouver une interface qui convienne. |
not | Élément vide de type exclusion d'adresse, utilisé pour forcer le critère de sélection. |
point-to-point | Élément vide indiquant qu'une partie du critère de sélection d'une interface doit être de savoir si elle a oui ou non une interface d'un point à un autre. |
public-address | Élément vide indiquant qu'une partie du critère de sélection d'une interface doit être de savoir si elle a oui ou non une adresse publiquement routable. |
site-local-address | Élément vide indiquant qu'une partie du critère de sélection d'une interface doit être ou non une adresse associée à son site-local |
subnet-match | Une adresse IP réseau et le nombre de bits dans le préfixe de réseau de l'adresse, sous la forme « / » ; par exemple"192.168.0.0/16". |
up | Élément vide indiquant qu'une partie du critère de sélection d'une interface est active ou non. |
virtual | Élément vide indiquant qu'une partie du critère de sélection d'une interface doit être ou non une interface virtuelle. |
Configuration des attributs d'une interface
Vous pouvez utiliser la fonction de saisie semie-automatique pour saisir la commande au fur et à mesure que vous saisissez, et afin d'exposer les attributs disponibles.Configurer les attributs d'interface par l'interface CLI
Utiliser l'interface CLI pour ajouter de nouvelles interfaces et pour écrire des nouvelles valeurs dans dans les attributs de l'interface.Ajouter une nouvelle interface
L'opérationadd
(ajouter) crée de nouvelles interfaces selon les besoins. Vous pouvez exécuter cette commandeadd
à partir de la racine de la session CLI, qui, dans l'exemple suivant, crée un nouveau titre de nom d'interface interfacename, avec uneinet-address
déclarée 12.0.0.2./interface=interfacename/:add(inet-address=12.0.0.2)
Modifier les attributs d'une interface
L'opérationwrite-attribute
écrit de nouvelles valeurs sur un attribut. L'exemple suivant met à jour la valeur deinet-address
à 12.0.0.8./interface=interfacename/:write-attribute(name=inet-address, value=12.0.0.8)
Vérifier les attributs d'interface.
Confirmer que les valeurs d'attribut ont changé en exécutant l'opérationread-resource
accompagnée du paramètreinclude-runtime=true
pour exposer toutes les valeurs actives en cours du modèle de serveur. Par exemple :[standalone@localhost:9999 interface=public]
:read-resource(include-runtime=true)
Configurer les attributs d'interface par la console de gestion
Connectez-vous à la console de management.
Connectez-vous à la console de gestion de votre instance de serveur autonome ou de domaine géré.Naviguer dans l'écran d'interfaces
Naviguer dans l'onglet de configuration.
Sélectionner Configuration qui se trouve en haut de l'écran.Mode domaine uniquement
Sélectionner un profil à partir du menu déroulant Profile qui se situe en haut et à gauche de l'écran.
Sélectionner Interfaces à partir du menu de navigation.
Étendre le menu General Configuration. Sélectionner l'élément de menu Interfaces à partir du menu de navigation.Ajouter une nouvelle interface
- Cliquer sur.
- Saisir les valeurs qui conviennent pour les Name (Nom), Inet Address (Adresse Inet) et Address Wildcard (Adresse générique).
- Cliquer sur le bouton.
Modifier les attributs d'une interface
- Sélectionner l'interface que vous souhaitez modifier dans la liste Available Interfaces et cliquer sur le bouton .
- Saisir les valeurs qui conviennent pour les Name (Nom), Inet Address (Adresse Inet) et Address Wildcard (Adresse générique).
- Cliquer sur le bouton.
5.2. Groupes de liaisons de sockets
5.2.1. Groupes de liaisons de sockets
domain.xml
et standalone.xml
. D'autres sections de la configuration peuvent alors faire référence à ces sockets par leur nom logique, plutôt que d'avoir à inclure tous les détails de la configuration de socket. Cela permet de référencer des configurations de sockets relatives qui peuvent varier sur des machines différentes.
Exemple 5.6. Liaisons de sockets par défaut pour la configuration du serveur autonome.
standalone.xml
sont groupés sous standard-sockets
. Ce groupe est aussi référencé dans l'interface publique
, en utilisant la même méthodologie de référencement logique.
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> <socket-binding name="management-native" interface="management" port="${jboss .management.native.port:9999}"/> <socket-binding name="management-http" interface="management" port="${jboss .management.http.port:9990}"/> <socket-binding name="management-https" interface="management" port="${jboss .management.https.port:9443}"/> <socket-binding name="ajp" port="8009"/> <socket-binding name="http" port="8080"/> <socket-binding name="https" port="8443"/> <socket-binding name="remoting" port="4447"/> <socket-binding name="txn-recovery-environment" port="4712"/> <socket-binding name="txn-status-manager" port="4713"/> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> </socket-binding-group>
Exemple 5.7. Liaisons de sockets par défaut pour la configuration du serveur autonome.
domain.xml
contiennent quatre groupes : standard-sockets
, ha-sockets
, full-sockets
et full-ha-sockets
. Ces groupes sont également référencés dans une interface appelée public
.
<socket-binding-groups> <socket-binding-group name="standard-sockets" default-interface="public"> <!-- Needed for server groups using the 'default' profile --> <socket-binding name="ajp" port="8009"/> <socket-binding name="http" port="8080"/> <socket-binding name="https" port="8443"/> <socket-binding name="remoting" port="4447"/> <socket-binding name="txn-recovery-environment" port="4712"/> <socket-binding name="txn-status-manager" port="4713"/> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> </socket-binding-group> <socket-binding-group name="ha-sockets" default-interface="public"> <!-- Needed for server groups using the 'ha' profile --> <socket-binding name="ajp" port="8009"/> <socket-binding name="http" port="8080"/> <socket-binding name="https" port="8443"/> <socket-binding name="jgroups-mping" port="0" multicast-address="${jboss .default.multicast.address:230.0.0.4}" multicast-port="45700"/> <socket-binding name="jgroups-tcp" port="7600"/> <socket-binding name="jgroups-tcp-fd" port="57600"/> <socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss .default.multicast.address:230.0.0.4}" multicast-port="45688"/> <socket-binding name="jgroups-udp-fd" port="54200"/> <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/> <socket-binding name="remoting" port="4447"/> <socket-binding name="txn-recovery-environment" port="4712"/> <socket-binding name="txn-status-manager" port="4713"/> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> </socket-binding-group> <socket-binding-group name="full-sockets" default-interface="public"> <!-- Needed for server groups using the 'full' profile --> <socket-binding name="ajp" port="8009"/> <socket-binding name="http" port="8080"/> <socket-binding name="https" port="8443"/> <socket-binding name="jacorb" interface="unsecure" port="3528"/> <socket-binding name="jacorb-ssl" interface="unsecure" port="3529"/> <socket-binding name="messaging" port="5445"/> <socket-binding name="messaging-group" port="0" multicast-address="${jboss .messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9876}"/> <socket-binding name="messaging-throughput" port="5455"/> <socket-binding name="remoting" port="4447"/> <socket-binding name="txn-recovery-environment" port="4712"/> <socket-binding name="txn-status-manager" port="4713"/> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> </socket-binding-group> <socket-binding-group name="full-ha-sockets" default-interface="public"> <!-- Needed for server groups using the 'full-ha' profile --> <socket-binding name="ajp" port="8009"/> <socket-binding name="http" port="8080"/> <socket-binding name="https" port="8443"/> <socket-binding name="jacorb" interface="unsecure" port="3528"/> <socket-binding name="jacorb-ssl" interface="unsecure" port="3529"/> <socket-binding name="jgroups-mping" port="0" multicast-address="${jboss .default.multicast.address:230.0.0.4}" multicast-port="45700"/> <socket-binding name="jgroups-tcp" port="7600"/> <socket-binding name="jgroups-tcp-fd" port="57600"/> <socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss .default.multicast.address:230.0.0.4}" multicast-port="45688"/> <socket-binding name="jgroups-udp-fd" port="54200"/> <socket-binding name="messaging" port="5445"/> <socket-binding name="messaging-group" port="0" multicast-address="${jboss .messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9876}"/> <socket-binding name="messaging-throughput" port="5455"/> <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/> <socket-binding name="remoting" port="4447"/> <socket-binding name="txn-recovery-environment" port="4712"/> <socket-binding name="txn-status-manager" port="4713"/> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> </socket-binding-group> </socket-binding-groups>
standalone.xml
et domain.xml
du répertoire de l'application. La méthode recommandée pour gérer les liaisons consiste à utiliser la console de gestion ou l'interface CLI. Les avantages à utiliser la console de gestion est l'interface utilisateur graphique avec un écran de groupes de liaisons de sockets dédié dans la section Configuration générale. L'interface CLI propose un API et un flux de travail basés ligne de commande qui permettent le traitement par lots et l'utilisation de scripts aux niveaux supérieurs et inférieurs de la configuration de serveur d'applications. Les deux interfaces permettent la persistance des modifications ou bien leur enregistrement dans la configuration du serveur.
5.2.2. Configurer les liaisons de sockets
standard-sockets
, et ne peut pas créer de groupes supplémentaires. À la place, vous pouvez créer des fichiers de configuration de serveur autonome alternatif. Pour le domaine géré cependant, vous pouvez créer des groupes de liaisons de sockets et configurer les liaisons de sockets qu'ils contiennent selon vos besoins. Le tableau suivant montre les attributs disponibles pour chaque liaison de sockets.
Attribut | Description | Rôle |
---|---|---|
name | Nom logique de la configuration de socket qui doit être utilisée ailleurs dans la configuration. | Requis |
port | Port de base auquel un socket basé sur cette configuration doit être lié. Notez que les serveurs peuvent être configurés pour substituer cette valeur de base en appliquant une incrémentation ou décrémentation à toutes les valeurs de port. | Requis |
interface | Nom logique de l'interface à laquelle un socket basé sur cette configuration doit être lié. Si non défini, la valeur de l'attribut default-interface du groupe de liaison de sockets enveloppant servira. | Option |
multicast-address | Si le socket doit être utilisé en multi-diffusion, c'est l'adresse multi-diffusion qu'il vous faut. | Option |
multicast-port | Si le socket doit être utilisé en multi-diffusion, c'est le port multi-diffusion qu'il vous faut. | Option |
fixed-port | Si défini sur true , déclare que la valeur de port doit toujours être utilisée par le socket et ne doit pas être remplacée par l'ajout d'un incrément ou d'un décrément. | Option |
Configurer des liaisons de sockets dans des groupes de liaisons de sockets
Sélectionner le CLI ou la console de gestion pour configurer vos liaisons de sockets selon les besoins.Configurer les liaisons de sockets par l'interface CLI
Utiliser l'interface CLI pour configurer les liaisons de sockets.Ajouter une nouvelle liaison de sockets
Utiliser l'opérationadd
(ajouter) pour créer une nouvelle configuration d'adresse si nécessaire. Vous pouvez exécuter cette commande à partir de la racine de la session de CLI, qui, dans l'exemple suivant, crée une nouvelle liaison de sockets intitulée newsocket, avec un attributport
déclaré comme 1234. Les exemples s'appliquent à la fois pour la modification des serveurs autonomes et des serveurs gérés sur la liaison de socketsstandard-sockets
comme montré ci-dessous.[domain@localhost:9999 /] /socket-binding-group=standard-sockets/socket-binding=newsocket/:add(port=1234)
Modifier les attributs de modèle
Utiliser l'opérationwrite-attribute
pour écrire une nouvelle valeur dans un attribut. Vous pouvez utiliser l'onglet de complétion pour aider à compléter la chaîne de commande que vous saisissez, et pour exposer les attributs disponibles. L'exemple suivant met à jour la valeurport
à 2020[domain@localhost:9999 /] /socket-binding-group=standard-sockets/socket-binding=newsocket/:write-attribute(name=port,value=2020)
Confirmer les attributs de modèle
Confirmer que les valeurs ont changé en exécutantread-resource
accompagné du paramètreinclude-runtime=true
pour exposer toutes les valeurs actives en cours du modèle de serveur.[domain@localhost:9999 /] /socket-binding-group=standard-sockets/socket-binding=newsocket/:read-resource
Configurer les liaisons de sockets par la console de gestion
Utiliser la console de gestion pour configurer les liaisons de sockets.Connectez-vous à la console de management.
Connectez-vous à la console de gestion de votre domaine géré ou de votre serveur autonome.Naviguer dans Configuration.
Sélectionner Configuration qui se trouve en haut de l'écran.Sélectionner l'élément Socket Binding à partir du menu de navigation.
Étendre le menu General Configuration. Sélectionner Socket Binding. Si vous utilisez un domaine géré, sélectionner le groupe désiré dans la liste Socket Binding Groups.Ajouter une nouvelle liaison de sockets
- Cliquer sur le bouton(ajouter).
- Saisir les valeurs qui conviennent pour les Name (Nom), Port (Port) et Binding Group (Groupe de liaisons).
- Cliquer sur le boutonpour terminer.
Modifier la liaison de socket
- Sélectionner la liaison de sockets de la liste et cliquer sur le bouton.
- Saisir les valeurs qui conviennent pour les Name (Nom), Interface (Interface) ou Port (Port).
- Cliquer sur le boutonpour terminer.
5.2.3. Ports de réseau utilisés par JBoss EAP 6
- Le fait que vos groupes de serveurs utilisent le groupe de liaisons de sockets par défaut, ou un groupe de liaisons de sockets personnalisé.
- Les exigences de vos déploiements individuels.
Note
8080
et si votre serveur utilise un décalage de port de 100
, son port HTTP sera 8180
.
groupes de liaisons de sockets par défaut
full-ha-sockets
full-sockets
ha-sockets
standard-sockets
domain.xml
. Les profils de serveur autonomes contiennent uniquement le groupe de liaisons de sockets standards. Ce groupe correspond à des-sockets standards dans standalone.xml
, ha-sockets
pour standalone-ha.xml
, full-sockets
pour standalone-full.xml
, et full-ha-sockets
pour standalone-full-ha.xml
. Les profils autonomes contiennent certaines liaisons de sockets supplémentaires, comme par exemple, management-{native,http,https}.
Nom | Port | Port multi-diffusion | Description | full-ha-sockets | full-sockets | ha-socket | standard-socket |
---|---|---|---|---|---|---|---|
ajp | 8009 | Protocole Apache JServ. Utilisé pour le clustering HTTP et pour l'équilibrage des charges. | Oui | Oui | Oui | Oui | |
http | 8080 | Le port par défaut des applications déployées. | Oui | Oui | Oui | Oui | |
https | 8443 | Connexion cryptée-SSL entre les applications déployées et les clients. | Oui | Oui | Oui | Oui | |
jacorb | 3528 | Services CORBA pour les transactions JTS et autres services dépendants-ORB. | Oui | Oui | Non | Non | |
jacorb-ssl | 3529 | Services CORBA cryptés-SSL. | Oui | Oui | Non | Non | |
jgroups-diagnostics | 7500 | Multidiffusion. Utilisée pour découvrir des homologues dans les groupements HA. Non configurable par les interfaces de gestion. | Oui | Non | Oui | Non | |
jgroups-mping | 45700 | Multidiffusion. Utilisée pour découvrir l'appartenance de groupe d'origine dans un cluster HA. | Oui | Non | Oui | Non | |
jgroups-tcp | 7600 | Découverte d'homoplogues unicastes dans les groupements HA avec TCP. | Oui | Non | Oui | Non | |
jgroups-tcp-fd | 57600 | Utilisé pour la détection des échecs en TCP. | Oui | Non | Oui | Non | |
jgroups-udp | 55200 | 45688 | Découverte de pairs multicast dans les groupements HA avec UDP. | Oui | Non | Oui | Non |
jgroups-udp-fd | 54200 | Utilisé pour la détection des échecs par UDP. | Oui | Non | Oui | Non | |
messaging | 5445 | Service JMS. | Oui | Oui | Non | Non | |
messaging-group | Référencé par la diffusion HornetQ JMS et les groupes Discovery | Oui | Oui | Non | Non | ||
messaging-throughput | 5455 | Utilisé par JMS Remoting. | Oui | Oui | Non | Non | |
mod_cluster | 23364 | Port de multidiffusion pour la communication entre JBoss EAP 6 et l'équilibreur de charges HTTP. | Oui | Non | Oui | Non | |
remoting | 4447 | Utilisé pour l'invocation EJB. | Oui | Oui | Oui | Oui | |
txn-recovery-environment | 4712 | Gestionnaire de recouvrement des transactions JTA. | Oui | Oui | Oui | Oui | |
txn-status-manager | 4713 | Gestionnaire des transactions JTA / JTS. | Oui | Oui | Oui | Oui |
En plus des groupes de liaisons de sockets, chaque contrôleur hôte ouvre deux ports supplémentaires pour la gestion :
9990
- Le port de console de gestion web9999
- Le port utilisé par la console de gestion et par l'API de gestion.
5.2.4. Valeurs de décalage des ports pour les groupes de liaisons de sockets
5.2.5. Configurer Port Offset (valeurs de décalage de ports)
Configurer Port Offset (valeurs de décalage de ports)
Sélectionner l'interface CLI ou la console de gestion pour configurer vos valeurs de décalage de ports.Configurer Port Offsets par l'interface CLI
Sélectionner l'interface CLI pour configurer vos ports offsets.Modifier les Ports Offsets
Utiliser l'opérationwrite-attribut
pour écrire une nouvelle valeur référence de port. L'exemple suivant met à jour la valeur dusocket-binding-port-offset
de server-two à 250. Ce serveur est membre du groupe hôte local par défaut. Un redémarrage est nécessaire pour que les modifications puissent prendre effet.[domain@localhost:9999 /] /host=master/server-config=server-two/:write-attribute(name=socket-binding-port-offset,value=250)
Confirmer les attributs d'un Port Offset
Confirmer que les valeurs ont changé en exécutantread-resource
accompagné du paramètreinclude-runtime=true
pour exposer toutes les valeurs actives en cours du modèle de serveur.[domain@localhost:9999 /] /host=master/server-config=server-two/:read-resource(include-runtime=true)
Configurer les valeurs de décalage de ports par la console de gestion
Sélectionner la console de gestion pour configurer vos valeurs de décalage de ports.Connectez-vous à la console de gestion.
Connectez-vous à la console de gestion de votre domaine géré.Sélectionner l'onglet Domain
Sélectionner l'onglet Domain en haut de l'écran.Modifier les attributs de Port Offset
- Sélectionner le serveur dans la liste
Available Server Configurations
et cliquer sur en haut de la liste des attributs en dessous. - Saisir les valeurs que vous désirez dans le champ Port Offset.
- Cliquer sur le boutonpour terminer.
5.2.6. Configuration de la taille d'un message à distance
MAX_INBOUND_MESSAGE_SIZE
) et la taille maximale des messages sortants (MAX_OUTBOUND_MESSAGE_SIZE
) pour s'assurer que les messages sont reçus et envoyés dans la limite des tailles appropriées.
MAX_OUTBOUND_MESSAGE_SIZE
), le serveur lèvera une exception et annulera la transmission des données. Toutefois, la connexion restera ouverte et l'expéditeur pourra choisir de fermer le message si nécessaire.
MAX_INBOUND_MESSAGE_SIZE
), le message sera fermé de façon asynchrone avec la connexion restée ouverte.
5.3. IPv6
5.3.1. Configurer les préférences de JVM Stack d'IPv6 Networking
- Résumé
- Cette section couvre l'activation du réseau IPv6 de l'installation JBoss EAP 6
Procédure 5.1. Désactiver la propriété IPv4 Stack Java
- Ouvrir le fichier qui convient à l'installation :
Pour le serveur autonome :
OuvrirEAP_HOME/bin/standalone.conf
.Pour un domaine géré :
OuvrirEAP_HOME/bin/domain.conf
.
- Modifier la propriété IPv4 Stack Java à false :
-Djava.net.preferIPv4Stack=false
Par exemple :Exemple 5.8. Options JVM
# Specify options to pass to the Java VM. # if [ "x$JAVA_OPTS" = "x" ]; then JAVA_OPTS="-Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=false -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.net.preferIPv6Addresses=true" fi
5.3.2. Configurer les déclarations d'interface du réseautage IPv6
Suivre ces étapes de configuration de l'adresse inet d'interface dans IPv6 par défaut:
Conditions préalables
Procédure 5.2. Configurer l'interface du réseautage IPv6
- Sélectionner Configuration qui se trouve en haut de l'écran.
- Étendre le menu General Configuration et sélectionnez Interfaces.
- Sélectionner l'interface dans la liste Available Interfaces.
- Cliquer surdans la liste d'informations.
- Définir l'adresse inet à :
${jboss.bind.address.management:[ADDRESS]}
- Cliquer sur le boutonpour terminer.
- Démarrer le serveur à nouveau pour implémenter les changements.
5.3.3. Configurer les Préférences JVM Stacks des adresses IPv6
- Résumé
- Cette rubrique couvre la configuration de l'installation de JBoss EAP 6 pour qu'elle préfère les adresses IPv6 dans les fichiers de configuration.
Procédure 5.3. Configuration de l'installation JBoss EAP 6 pour qu'elle préfère les adresses IPv6
- Ouvrir le fichier qui convient à l'installation :
Pour le serveur autonome :
OuvrirEAP_HOME/bin/standalone.conf
.Pour un domaine géré :
OuvrirEAP_HOME/bin/domain.conf
.
- Ajouter la propriété Java suivante aux options de la Java VM
-Djava.net.preferIPv6Addresses=true
Par exemple :Exemple 5.9. Options JVM
# Specify options to pass to the Java VM. # if [ "x$JAVA_OPTS" = "x" ]; then JAVA_OPTS="-Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=false -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.net.preferIPv6Addresses=true" fi
Chapitre 6. Gestion des sources de données
6.1. Introduction
6.1.1. JDBC
6.1.2. Bases de données prises en charge par JBoss EAP 6
6.1.3. Types de sources de données
les sources de données
et les sources de données XA
.
6.1.4. L'exemple de source de données
Avertissement
6.1.5. Déploiement des fichiers -ds.xml
*-ds.xml
était requis dans le répertoire de déploiement de la configuration du serveur. Les fichiers *-ds.xml
peuvent toujours être déployés dans JBoss EAP 6, suivant le schéma de sources de données 1.1 disponible sous Schemas : http://www.ironjacamar.org/documentation.html.
Avertissement
Important
*-ds.xml
.
6.2. Pilotes JDBC
6.2.1. Installer un pilote JDBC avec la console de gestion
Avant que votre application puisse se connecter à une source de données JDBC, vos pilotes JDBC du fournisseur de votre source de données doivent être installés dans un endroit où JBoss EAP 6 puisse les utiliser. JBoss EAP 6 vous permettra de déployer ces pilotes comme tout autre déploiement. Cela signifie que vous pouvez les déployer sur plusieurs serveurs dans un groupe de serveurs, si vous utilisez un domaine géré.
Vous devrez remplir les conditions suivantes avant de pouvoir effectuer cette tâche :
- Télécharger le pilote JDBC de votre fournisseur de base de données.
Note
Procédure 6.1. Modifier le JAR du pilote JDBC
- Modifier ou créer un répertoire temporaire vide.
- Créer un sous-répertoire META-INF.
- Créer un sous-répertoire META-INF/services.
- Créer un fichier META-INF/services/java.sql.Driver qui contienne une ligne indiquant le nom de classe complet du pilote JDBC.
- Utiliser l'outil de ligne de commande du JAR pour mettre à jour le JAR ainsi :
jar \-uf jdbc-driver.jar META-INF/services/java.sql.Driver
- Si vous utilisez un domaine géré, déployez le fichier JAR dans un groupe de serveurs. Sinon, déployez-le sur votre serveur. Voir Section 10.2.2, « Activer une application déployée à l'aide de la console de gestion ».
Le pilote JDBC est déployé, et est disponible pour vos applications.
6.2.2. Installer un pilote JDBC comme core module
Vous devrez remplir les conditions suivantes avant de pouvoir effectuer cette tâche :
- Télécharger le pilote JDBC de votre base de données fournisseur. Voici les adresses de téléchargement pour le pilote JDBC : Section 6.2.3, « Adresses des téléchargements de pilotes JDBC ».
- En extraire l'archive
Procédure 6.2. Installer un pilote JDBC comme core module
- Créer une structure de chemin d'accès de fichier sous le répertoire
EAP_HOME/modules/
. Ainsi, pour un pilote MySQL JDBC, créer une structure de répertoire comme suit :EAP_HOME/modules/com/mysql/main/
. - Copier le pilote JDBC dans le sous-répertoire
main/
. - Dans le sous-répertoire
main/
, créer un fichiermodule.xml
ressemblant à l'exemple qui se trouve Section 7.1.1, « Modules ». Lemodule
XSD est défini dans le fichierEAP_HOME/docs/schema/module-1_2.xsd
. - Démarrer le serveur.
- Démarrer l'interface CLI.
- Exécuter la commande CLI pour ajouter le module de pilote JDBC à la configuration du serveur.La commande que vous avez choisie dépend du nombre de classe listées dans le fichier
/META-INF/services/java.sql.Driver
qui se situe dans le JAR du pilote JDBC. Par exemple, le fichier/META-INF/services/java.sql.Driver
du JAR JDBC MySQL 5.1.20 liste deux classes :Quand il n'y a plus d'une entrée, vous devez également spécifier le nom de la classe de pilote. Sinon, vous provoquerez une erreur semblable à ce qui suit :com.mysql.jdbc.Driver
com.mysql.fabric.jdbc.FabricMySQLDriver
Exemple 6.1. Erreur de classe de pilote
JBAS014749: Operation handler failed: Service jboss.jdbc-driver.mysql is already registered
- Exécuter la commande CLI pour les JAR JDBC qui contiennent une entrée de classe.
/subsystem=datasources/jdbc-driver=DRIVER_NAME:add(driver-name=DRIVER_NAME,driver-module-name=MODULE_NAME,driver-xa-datasource-class-name=XA_DATASOURCE_CLASS_NAME)
Exemple 6.2. Commande CLI en mode autonome pour les JAR JDBC ayant une classe de pilote.
/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource)
Exemple 6.3. Commande CLI en mode de domaine pour les JAR JDBC ayant une classe de pilote.
/profile=ha/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource)
- Exécuter la commande CLI pour les JAR JDBC qui contiennent plusieurs entrées de classe.
/subsystem=datasources/jdbc-driver=DRIVER_NAME:add(driver-name=DRIVER_NAME,driver-module-name=MODULE_NAME,driver-xa-datasource-class-name=XA_DATASOURCE_CLASS_NAME, driver-class-name=DRIVER_CLASS_NAME)
Exemple 6.4. Commande CLI en mode autonome pour les JAR JDBC ayant plusieurs classes de pilote.
/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource, driver-class-name=com.mysql.jdbc.Driver)
Exemple 6.5. Commande CLI en mode de domaine pour les JAR JDBC ayant plusieurs classes de pilote.
/profile=ha/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource, driver-class-name=com.mysql.jdbc.Driver)
Le pilote JDBC est maintenant installé et configuré comme core module. Il est maintenant prêt à être référencé par les sources de données d'application.
6.2.3. Adresses des téléchargements de pilotes JDBC
Fournisseur | Adresse de téléchargement |
---|---|
MySQL | |
PostgreSQL | |
Oracle | |
IBM | |
Sybase | |
Microsoft |
6.2.4. Accès aux classes spécifiques à un fournisseur
Cette section couvre les étapes à suivre pour utiliser les classes spécifiques JDBC. Cela est utile quand une application a besoin d'utiliser une fonctionnalité spécifique à un fournisseur ne faisant pas partie de l'API JDBC.
Avertissement
Important
Important
Conditions préalables
Procédure 6.3. Ajouter une dépendance à l'application
Configurer le fichier
MANIFEST.MF
- Ouvrir le fichier
META-INF/MANIFEST.MF
de l'application dans un éditeur de texte. - Ajouter une dépendance au module JDBC et sauvegarder le fichier.
Dépendences : MODULE_NAME
Exemple 6.6. Fichier MANIFEST.MF avec com.mysql déclaré comme dépendance.
Dépendences : com.mysql
Créer un fichier
jboss-deployment-structure.xml
Créer un fichierjboss-deployment-structure.xml
dans le dossierMETA-INF/
ouWEB-INF
de l'application.Exemple 6.7. Fichier
jboss-deployment-structure.xml
avec com.mysql déclaré comme dépendance.<jboss-deployment-structure> <deployment> <dependencies> <module name="com.mysql" /> </dependencies> </deployment> </jboss-deployment-structure>
Exemple 6.8. Accèder à l'API spécifique du fournisseur
import java.sql.Connection; import org.jboss.jca.adapters.jdbc.WrappedConnection; Connection c = ds.getConnection(); WrappedConnection wc = (WrappedConnection)c; com.mysql.jdbc.Connection mc = wc.getUnderlyingConnection();
6.3. Sources de données non-XA
6.3.1. Créer une source de données non-XA avec les interfaces de gestion
Cette section explique les étapes à suivre pour créer une source de données non-XA, en utilisant la console de gestion ou l'interface CLI.
Conditions préalables
- Le serveur JBoss EAP 6 doit être en cours d'exécution.
Note
Procédure 6.4. Créer une source de données en utilisant l'interface CLI ou la console de gestion
Interface CLI
- Lancer le CLI et connectez-vous à votre serveur.
- Exécuter la commande d'interface de gestion CLI suivante pour créer une source de données non-XA, et configurer les variables comme il se doit :
Note
La valeur de DRIVER_NAME (nom de pilote) dépend du nombre de classes répertoriées dans le fichier/META-INF/services/java.sql.Driver
situé dans le JAR du pilote JDBC. S'il n'y a qu'une seule classe, la valeur correspondra au nom du JAR. S'il y a plusieurs classes, la valeur correspondra au nom du JAR + driverClassName + « _ » + majorVersion + « _ » + minorVersion. Toute erreur provoquera l'erreur suivante dans le journal :JBAS014775: New missing/unsatisfied dependencies
Par exemple, la valeur de DRIVER_NAME qu'il nous faut pour le pilote MySQL 5.1.31 estmysql-connector-java-5.1.31-bin.jarcom.mysql.jdbc.Driver_5_1
.data-source add --name=DATASOURCE_NAME --jndi-name=JNDI_NAME --driver-name=DRIVER_NAME --connection-url=CONNECTION_URL
- Activer la source de données :
data-source enable --name=DATASOURCE_NAME
Console de gestion
- Connectez-vous à la console de gestion.
Naviguer dans le panneau Datasources qui se trouve dans la console de gestion
- Sélectionner Configuration qui se trouve en haut de la console.
- En mode de domaine uniquement, sélectionner un profil à partir du menu déroulant qui se trouve en haut et à gauche.
- Étendre le menuqui se trouve à gauche de la console, puis étendre le menu .
- Sélectionnerà partir du menu à gauche de la console.
Créer une nouvelle source de données
- Cliquer sur Datasources.qui se trouve en haut du panneau
- Saisir les attributs de la nouvelle source de données de l'assistant Create Datasource et appuyez sur .
- Saisir les informations sur le pilote JDBC dans l'assistant Create Datasource et cliquer sur pour continuer.
- Saisir les paramètres de connexion dans l'assistant Create Datasource.
- Cliquer sur le boutonpour tester la connexion à la ressource de données et vérifier que les paramètres de configuration sont corrects.
- Cliquer surpour terminer.
La source de données non-Xa a été ajoutée au serveur. Elle est maintenant visible dans le fichier standalone.xml
ou le fichier domain.xml
, ainsi que dans les interfaces de gestion.
6.3.2. Modifier une source de données non-XA par les interfaces de gestion
Cette section explique les étapes à suivre pour modifier une source de données non-XA, en utilisant la console de gestion ou l'interface CLI.
Conditions préalables
Note
jta
soit défini à true
.
Procédure 6.5. Modifier une source de données non-XA
Interface CLI
- Utiliser la commande
write-attribute
pour configurer un attribut de source de données :/subsystem=datasources/data-source=DATASOURCE_NAME:write-attribute(name=ATTRIBUTE_NAME,value=ATTRIBUTE_VALUE)
- Charger à nouveau le serveur pour confirmer les changements :
:reload
Console de gestion
Naviguer dans le panneau Datasources qui se trouve dans la console de gestion
- Sélectionner Configuration qui se trouve en haut de la console.
- En mode de domaine uniquement, sélectionner un profil à partir du menu déroulant qui se trouve en haut et à gauche.
- Étendre le menuqui se trouve à gauche de la console, puis étendre le menu .
- Sélectionnerà partir du menu déroulant.
Modifier la source de données
- Sélectionner une source de données dans la liste Available Datasources. Les attributs de source de données sont affichés ci-dessous.
- Cliquer surpour modifier les attributs de la source de données.
- Cliquer sur le boutonpour terminer.
La source de données non-Xa a été configurée. Elle est maintenant visible dans le fichier standalone.xml
ou le fichier domain.xml
, ainsi que dans les interfaces de gestion.
- Pour créer une nouvelle source de données. voir : Section 6.3.1, « Créer une source de données non-XA avec les interfaces de gestion ».
- Pour supprimer la source de données, voir : Section 6.3.3, « Supprimer une source de données non-XA par les interfaces de gestion ».
6.3.3. Supprimer une source de données non-XA par les interfaces de gestion
Ce sujet couvre les étapes requises pour supprimer une source de données non-XA de JBoss EAP 6, en utilisant la console de gestion ou l'interface CLI.
Conditions préalables
Procédure 6.6. Supprimer une source de données non-XA
Interface CLI
- Exécuter la commande suivante pour supprimer une source de données non-XA :
data-source remove --name=DATASOURCE_NAME
Console de gestion
Naviguer dans le panneau Datasources qui se trouve dans la console de gestion
- Sélectionner Configuration qui se trouve en haut de la console.
- En mode de domaine uniquement, sélectionner un profil à partir du menu déroulant qui se trouve en haut et à gauche.
- Étendre le menuqui se trouve à gauche de la console, puis étendre le menu .
- Sélectionner.
- Sélectionner la source de données enregistrée à supprimer, et cliquer sur.
La source de données non-XA a été supprimée dans le serveur.
- Pour créer une nouvelle source de données, voir : Section 6.3.1, « Créer une source de données non-XA avec les interfaces de gestion ».
6.4. Sources de données XA
6.4.1. Créer une source de données XA par les interfaces de gestion
Conditions préalables :
Cette section explique les étapes à suivre pour créer une source de données XA, en utilisant la console de gestion ou l'interface CLI.
Note
Procédure 6.7. Créer une source de données XA en utilisant l'interface CLI ou la console de gestion
Interface CLI
- Exécuter la commande d'interface de gestion CLI suivante pour créer une source de données XA, et configurer les variables comme il se doit :
Note
La valeur de DRIVER_NAME (nom de pilote) dépend du nombre de classes répertoriées dans le fichier/META-INF/services/java.sql.Driver
situé dans le JAR du pilote JDBC. S'il n'y a qu'une seule classe, la valeur correspondra au nom du JAR. S'il y a plusieurs classes, la valeur correspondra au nom du JAR + driverClassName + « _ » + majorVersion + « _ » + minorVersion. Toute erreur provoquera l'erreur suivante dans le journal :JBAS014775: New missing/unsatisfied dependencies
Par exemple, la valeur de DRIVER_NAME qu'il nous faut pour le pilote MySQL 5.1.31 estmysql-connector-java-5.1.31-bin.jarcom.mysql.jdbc.Driver_5_1
.xa-data-source add --name=XA_DATASOURCE_NAME --jndi-name=JNDI_NAME --driver-name=DRIVER_NAME --xa-datasource-class=XA_DATASOURCE_CLASS
Configurer les propriétés de la source de données XA
Définir le nom du serveur
Exécuter la commande suivante pour configurer le nom du serveur de l'hôte :/subsystem=datasources/xa-data-source=XA_DATASOURCE_NAME/xa-datasource-properties=ServerName:add(value=HOSTNAME)
Définir le nom de la base de données
Exécuter la commande suivante pour configurer le nom de la base de données :/subsystem=datasources/xa-data-source=XA_DATASOURCE_NAME/xa-datasource-properties=DatabaseName:add(value=DATABASE_NAME)
- Activer la source de données :
xa-data-source enable --name=XA_DATASOURCE_NAME
Console de gestion
Naviguer dans le panneau Datasources qui se trouve dans la console de gestion
- Sélectionner Configuration qui se trouve en haut de la console.
- En mode de domaine uniquement, sélectionner un profil à partir du menu déroulant qui se trouve en haut et à gauche.
- Étendre le menuqui se trouve à gauche de la console, puis étendre le menu .
- Sélectionner.
- Sélectionner l'onglet XA Datasource.
Créer une nouvelle source de données XA
- Cliquer sur.
- Saisir les attributs de la nouvelle source de données XA de l'assistant Create XA Datasource et cliquer sur .
- Saisir les informations sur le pilote JDBC dans l'assistant Create XA Datasource et cliquer sur .
- Saisir les propriétés XA et cliquer sur.
- Saisir les paramètres de connexion dans l'assistant Create XA Datasource.
- Cliquer sur le boutonpour tester la connexion à la ressource de données XA et vérifier que les paramètres de configuration soient corrects.
- Cliquer surpour terminer.
La source de données XA a été ajoutée au serveur. Elle est maintenant visible dans le fichier standalone.xml
ou le fichier domain.xml
, ainsi que dans les interfaces de gestion.
Voir également :
6.4.2. Modifier une Source de données XA par les Interfaces de gestion
Cette section explique les étapes à suivre pour modifier une source de données XA, en utilisant la console de gestion ou l'interface CLI.
Conditions préalables
Procédure 6.8. Modifier une source de données XA en utilisant l'interface CLI ou la console de gestion
L'interface CLI
Configurer les attributs de source de données XA
Utiliser la commandewrite-attribute
pour configurer un attribut de source de données :/subsystem=datasources/xa-data-source=XA_DATASOURCE_NAME:write-attribute(name=ATTRIBUTE_NAME,value=ATTRIBUTE_VALUE)
Configurer les propriétés de la source de données XA
Exécuter la commande suivante pour configurer une sous-ressource de source de données XA :/subsystem=datasources/xa-data-source=DATASOURCE_NAME/xa-datasource-properties=PROPERTY_NAME:add(value=PROPERTY_VALUE)
- Charger à nouveau le serveur pour confirmer les changements :
:reload
Console de gestion
Naviguer dans le panneau Datasources qui se trouve dans la console de gestion
- Sélectionner Configuration qui se trouve en haut de la console.
- En mode de domaine uniquement, sélectionner un profil à partir du menu déroulant qui se trouve en haut et à gauche.
- Étendre le menuqui se trouve à gauche de la console, puis étendre le menu .
- Sélectionner.
- Sélectionner l'onglet XA Datasource.
Modifier la source de données
- Sélectionner la source de données XA qui convient à partir de la liste Available XA Datasources. Les attributs de la source de données XA sont affichés dans le panneau Attributes ci-dessous.
- Sélectionner le boutonpour modifier les attributs de la source de données.
- Modifier les attributs de la source de données XA et sélectionner le boutonquand c'est fait.
La source de données XA a été configurée. Les changements sont maintenant visibles dans le fichier standalone.xml
ou le fichier domain.xml
, ainsi que dans les interfaces de gestion.
- Pour créer une nouvelle source de données, voir : Section 6.4.1, « Créer une source de données XA par les interfaces de gestion ».
- Pour supprimer la source de données, voir : Section 6.4.3, « Supprimer une Source de données XA par les Interfaces de gestion ».
6.4.3. Supprimer une Source de données XA par les Interfaces de gestion
Ce sujet couvre les étapes requises pour supprimer une source de données XA de JBoss EAP 6, en utilisant la console de gestion ou l'interface CLI.
Conditions préalables
Procédure 6.9. Supprimer une source de données XA en utilisant l'interface CLI ou la console de gestion
Management CLI
- Exécuter la commande suivante pour supprimer une source de données :
xa-data-source remove --name=XA_DATASOURCE_NAME
Console de gestion
Naviguer dans le panneau Datasources qui se trouve dans la console de gestion
- Sélectionner Configuration qui se trouve en haut de la console.
- En mode de domaine uniquement, sélectionner un profil à partir du menu déroulant qui se trouve en haut et à gauche.
- Étendre le menuqui se trouve à gauche de la console, puis étendre le menu .
- Sélectionner.
- Sélectionner l'onglet XA Datasource.
- Sélectionner la source de données XA enregistrée à supprimer, et cliquer sur le boutonpour supprimer la source de données XA de façon permanente.
La source de données XA a été supprimée dans le serveur.
- Pour ajouter une nouvelle source de données, voir : Section 6.4.1, « Créer une source de données XA par les interfaces de gestion ».
6.4.4. XA Recovery
6.4.4.1. Les modules de recouvrement XA
com.arjuna.ats.jta.recovery.XAResourceRecovery
.
6.4.4.2. Configurer les modules de recouvrement
Attribut | Description |
---|---|
recovery-username |
Le nom d'utilisateur qui doit être utilisé par le module de recouvrement pour se connecter à la ressource de recouvrement.
|
recovery-password |
Le mot de passe qui doit être utilisé par le module de recouvrement pour se connecter à la ressource de recouvrement.
|
recovery-security-domain |
Le domaine de sécurité qui doit être utilisé par le module de recouvrement pour se connecter à la ressource de recouvrement.
|
recovery-plugin-class-name |
Si vous devez utiliser un module de recouvrement personnalisé, définissez cet attribut au nom complet de classe du module. Le module doit étendre la classe
com.arjuna.ats.jta.recovery.XAResourceRecovery .
|
recovery-plugin-properties |
Si vous utilisez un module de récupération personnalisée qui requiert des propriétés à définir, définissez cet attribut à la liste de paires key=value séparée par des virgules pour les propriétés.
|
Informations de configuration spécifiques au fournisseur
- Oracle
- Si la source de données Oracle n'est pas configurée correctement, vous apercevrez sans doute les erreurs suivantes dans votre sortie de journalisation :
Exemple 6.9. Erreur de la configuration incorrecte
WARN [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.recovery.xarecovery1] Local XARecoveryModule.xaRecovery got XA exception javax.transaction.xa.XAException, XAException.XAER_RMERR
Pour résoudre cette erreur, veillez à ce que l'utilisateur Oracle configuré dansrecovery-username
ait bien accès aux tableaux utiles au recouvrement. L'énoncé SQL suivant affiche les attributions d'instances correctes Oracle 11g ou Oracle 10g R2 corrigées pour le bogue 5945463 d'Oracle.Exemple 6.10. Octroi de privilège pour la configuration
GRANT SELECT ON sys.dba_pending_transactions TO recovery-username; GRANT SELECT ON sys.pending_trans$ TO recovery-username; GRANT SELECT ON sys.dba_2pc_pending TO recovery-username; GRANT EXECUTE ON sys.dbms_xa TO recovery-username;
Si vous utilisez une version Oracle 11g antérieure à 11g, modifier l'énoncé finalEXECUTE
ainsi:GRANT EXECUTE ON sys.dbms_system TO recovery-username;
- PostgreSQL
- Voir la documentation PostgreSQL pour obtenir des instructions sur la façon d'activer des transactions (ex. XA) préparées. La version 8.4-701 du pilote JDBC de PostgreSQL a un bogue dans
org.postgresql.xa.PGXAConnection
qui empêche le recouvrement dans certaines situations. Cela a été résolu dans les nouvelles versions. - MySQL
- Basé sur http://bugs.mysql.com/bug.php?id=12161, le recouvrement de transactions XA ne fonctionnait pas dans certaines versions de MySQL 5. Cela a été corrigé dans MySQL 6.1. Voir l'URL du bogue ou la documentation MySQL pour obtenir davantage d'informations.
- IBM DB2
- IBM DB2 s'attend à ce que la méthode
XAResource.recover
soit appelée uniquement pendant la phase de resynchronisation désignée qui se produit lorsque le serveur d'applications est redémarré après un accident ou une panne. Il s'agit d'une décision de conception pour l'implémentation de DB2, qui est en dehors du dessein de cette documentation. - Sybase
- Sybase s'attend à ce que les transactions XA soient activées sur la base de données. Sans configuration correcte de la base de données, les transactions XA ne fonctionneront pas.
enable xact coordination
active ou désactive les services de coordination de transaction Adaptive Server. Lorsque ce paramètre est activé, Adaptive Server garantit que les mises à jour de données Adaptive Server distantes soient validées ou annulées avec la transaction d'origine. Pour permettre la coordination de transaction, utilisez :sp_configure 'enable xact coordination', 1
.
6.5. Sécurité des bases de données
6.5.1. Sécurité des bases de données
Exemple 6.11. Exemple de domaine de sécurité
<security-domain name="DsRealm" cache-type="default"> <authentication> <login-module code="ConfiguredIdentity" flag="required"> <module-option name="userName" value="sa"/> <module-option name="principal" value="sa"/> <module-option name="password" value="sa"/> </login-module> </authentication> </security-domain>
<datasources> <datasource jndi-name="java:jboss/datasources/securityDs" pool-name="securityDs"> <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url> <driver>h2</driver> <new-connection-sql>select current_user()</new-connection-sql> <security> <security-domain>DsRealm</security-domain> </security> </datasource> </datasources>
Exemple 6.12. Exemple de mots de passe
<security> <user-name>admin</user-name> <password>${VAULT::ds_ExampleDS::password::N2NhZDYzOTMtNWE0OS00ZGQ0LWE4MmEtMWNlMDMyNDdmNmI2TElORV9CUkVBS3ZhdWx0}</password> </security>
6.6. Validation de la connexion à la base de données
6.6.1. Configuration des paramètres de validation de connexion de la base de données
En raison de problèmes de maintenance de base de données, de problèmes de réseau ou autres événements peuvent amener JBoss EAP 6 à perdre la connexion à la base de données. Vous activez la validation de la connexion à la base de données par l'élément < validation >
dans la section < datasource >
du fichier de configuration du serveur. Suivez les étapes ci-dessous pour configurer les paramètres de source de données pour activer la validation de connexion de la base de données dans JBoss EAP 6.
Procédure 6.10. Configuration des paramètres de validation de connexion de la base de données
Choisissez une méthode de validation
Veuillez sélectionner une des méthodes de validation suivantes.<validate-on-match>true</validate-on-match>
Lorsque l'option< validate-on-match >
a comme valeurtrue
, la connexion à la base de données est validée à chaque retrait du pool de connexions en utilisant le mécanisme de validation spécifié à l'étape suivante.Si une connexion n'est pas valide, un avertissement sera inscrit dans le journal et la prochaine connexion sera extraite du pool. Ce processus se poursuit jusqu'à ce qu'une connexion valide soit enfin trouvée. Si vous préférez ne pas faire défiler chaque connexion du pool, vous pouvez utiliser l'option<use-fast-fail>
. Si on ne trouve pas de connexion valide dans le pool, une nouvelle connexion sera créée. Si la création de la connexion échoue, une exception sera retournée à l'application qui en a fait la demande.Ce paramètre entraîne une récupération plus rapide, mais crée une charge plus élevée sur la base de données. Cependant, c'est la sélection la plus sûre si une baisse de performance minimale n'est pas un sujet de préoccupation.<background-validation>true</background-validation>
Lorsque l'option< >background-validation
a comme valeurtrue
, il est utilisé en combinaison à la valeur<background-validation-millis>
pour déterminer la fréquence d'exécution de l'information en d'arrière-plan. La valeur par défaut du paramètre<background-validation-millis>
est de 0 millisecondes, ce qui signifie que c'est désactivé par défaut. Cette valeur ne doit pas être à la même valeur que celle du paramètre< idle-timeout-minutes >
.Il est délicat de déterminer la valeur optimale de<background-validation-millis>
pour un système particulier. Plus la valeur est faible, le plus fréquemment le pool sera validé et le plus rapidement les connexions plus tôt non valides sont supprimées de la piscine. Cependant, des valeurs les plus faibles prennent davantage de ressources de base de données. En outre, les valeurs élevées ont des contrôles de validation de connexion plus fréquents et utilisent moins de ressources de base de données, mais les liens morts demeurent indétectables pendant de plus longues périodes.
Note
Si l'option<validate-on-match>
est définie àtrue
, l'option<background-validation>
devra être définie àfalse
. Le contraire est vrai également. Si l'option<background-validation>
est définie àtrue
, l'option<validate-on-match>
devra être définie àfalse
.Choisir un mécanisme de validation
Veuillez sélectionner un des mécanismes de validation suivants.Spécifier un Nom de classe <valid-connection-checker>
Il s'agit du mécanisme préféré car il est optimisé pour un RBMS particulier. JBoss EAP 6 fournit les vérificateurs de connexions suivants :- org.jboss.jca.adapters.jdbc.extensions.db2.DB2ValidConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLReplicationValidConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.novendor.JDBC4ValidConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.novendor.NullValidConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseValidConnectionChecker
Indiqué l'énoncé SQL pour <check-valid-connection-sql>
Vous fournissez l'énoncé SQL utilisé pour valider la connexion.Ce qui suit est un exemple qui vous montre comment spécifier un énoncé SQL pour valider une connexion dans Oracle :<check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
Dans MySQL ou PostgreSQL, vous pouvez spécifier l'énoncé SQL suivant :<check-valid-connection-sql>select 1</check-valid-connection-sql>
Définir le Nom de classe <exception-sorter>
Lorsqu'une exception est marquée comme étant fatale, la connexion est fermée immédiatement, même si la connexion participe à une transaction. Utilisez l'option de classe de triage d'exception trieuse pour détecter correctement et ensuite nettoyer les exceptions de connexion fatales. JBoss EAP 6 fournit les trieurs d'exception suivants :- org.jboss.jca.adapters.jdbc.extensions.db2.DB2ExceptionSorter
- org.jboss.jca.adapters.jdbc.extensions.informix.InformixExceptionSorter
- org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter
- org.jboss.jca.adapters.jdbc.extensions.novendor.NullExceptionSorter
- org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter
- org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter
- org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseExceptionSorter
6.7. Configuration des sources de données
6.7.1. Paramètres de source de données
Paramètre | Description |
---|---|
jndi-name | Le nom JNDI unique pour la source de données. |
pool-name | Le nom du pool de gestion de la source de données. |
enabled | Indique si la source de données est activée. |
use-java-context |
Indique si on doit relier la source de données au JNDI global.
|
spy |
Activer la fonctionnalité
spy sur la couche JDBC. Cela journalisera tout le trafic JDBC dans la source de données. Notez que la catégorie de journalisation jboss.jdbc.spy doit également être définie au niveau DEBUG dans le sous-système de journalisation.
|
use-ccm | Activer le gestionnaire de connexion cache. |
new-connection-sql | Un énoncé SQL qui exécute quand la connexion est ajoutée au pool de connexion. |
transaction-isolation |
Un parmi :
|
url-selector-strategy-class-name | Une classe qui implémente l'interface org.jboss.jca.adapters.jdbc.URLSelectorStrategy . |
sécurité |
Contient des éléments dépendants en tant que paramètres de sécurité. Voir Tableau 6.8, « Paramètres de sécurité ».
|
validation |
Contient des éléments dépendants en tant que paramètres de validation. Voir Tableau 6.9, « Paramètres de validation ».
|
timeout |
Contient des éléments dépendants en tant que paramètres de timeout. Voir Tableau 6.10, « Paramètres de timeout ».
|
énoncé |
Contient des éléments dépendants en tant que paramètres d'énoncés. Voir Tableau 6.11, « Paramètres d'instruction ».
|
Paramètre | Description |
---|---|
jta | Active l'intégration JTA pour les sources de données non-XA. Ne s'applique pas aux sources de données XA. |
connection-url | L'URL de connexion du pilote JDBC. |
driver-class | Le nom complet de la classe de pilote JDBC. |
connection-property |
Propriétés de connexions arbitraires passées à la méthode
Driver.connect(url,props) . Chaque connection-property indique une paire name/value. Le nom de la propriété provient du nom, et la valeur provient du contenu de l'élément.
|
pool |
Contient des éléments dépendants en tant que paramètres de pooling. Voir Tableau 6.6, « Les paramètres de pool communs aux sources XA ou non-XA ».
|
url-delimiter |
Le délimiteur d'URLs d'une connexion url pour les bases de données clusterisées HA (Haute disponibilité).
|
Paramètre | Description |
---|---|
xa-datasource-property |
Une propriété pour assigner la classe d'implémentation
XADataSource . Spécifiée par name=value. Si une méthode setter existe, dans le format setName , la propriété sera définie en appelant une méthode setter sous le format setName(value) .
|
xa-datasource-class |
Le nom complet de la classe d'implémentation de
javax.sql.XADataSource .
|
pilote |
Unique référence au module de chargeur de classe qui contient le pilote JDBC. Le format accepté est driverName#majorVersion.minorVersion.
|
xa-pool |
Contient des éléments dépendants en tant que paramètres de pooling. Voir Tableau 6.6, « Les paramètres de pool communs aux sources XA ou non-XA » et Tableau 6.7, « Paramètres du pool XA ».
|
recouvrement |
Contient des éléments dépendants en tant que paramètres de recouvrement. Voir Tableau 6.12, « Paramètres de recouvrement ».
|
Paramètre | Description |
---|---|
min-pool-size | Le nombre minimum de connexions contenues par un pool. |
max-pool-size | Le nombre maximum de connexions qu'un pool peut contenir |
Pré-remplissage | Indique si l'on doit essayer de pré-remplir un pool de connexion. Un élément vide indique une valeur true . La valeur par défaut est false . |
use-strict-min | Indique si la taille du pool est stricte. false par défaut. |
flush-strategy |
Indique si le pool est vidé en cas d'erreur. Les valeurs acceptées sont :
La valeur par défaut est
FailingConnectionOnly .
|
allow-multiple-users | Indique si plusieurs utilisateurs pourront avoir accès à la source de données par la méthode getConnection(user, password), et si les types de pools internes ont une influence sur ce comportement. |
Paramètre | Description |
---|---|
is-same-rm-override | Indique si la classe javax.transaction.xa.XAResource.isSameRM(XAResource) retourne true ou false . |
entrelacement | Indique si on doit activer l'entrelacement pour les fabriques de connexion XA. |
no-tx-separate-pools |
Indique si on doit créer des sous-répertoires distincts pour chaque contexte. Cela est nécessaire pour les sources de données Oracle, qui ne permettent pas aux connexions XA d'être utilisées à la fois à l'intérieur et à l'extérieur d'une transaction de JTA
Utiliser cette option entraînera la multiplication par deux de la taille du pool
max-pool-size , car en fait, deux pools seront créés.
|
pad-xid | Indique si on doit remplir le Xid. |
wrap-xa-resource |
Indique si on doit inclure XAResource dans une instance
org.jboss.tm.XAResourceWrapper .
|
Paramètre | Description |
---|---|
user-name | Le nom d'utilisation pour créer une nouvelle connexion. |
password | Le mot de passe à utiliser pour créer une nouvelle connexion |
security-domain | Contient le nom d'un gestionnaire de sécurité JAAS, qui gère l'authentification. Ce nom correspond à l'attribut application-policy/name de la configuration de connexion JAAS. |
reauth-plugin | Définit un plugin d'authentification à nouveau pour la réauthentification de connexions physiques. |
Paramètre | Description |
---|---|
valid-connection-checker |
Une mise en œuvre d'interface
org.jboss.jca.adaptors.jdbc.ValidConnectionChecker qui fournit une méthode SQLException.isValidConnection(Connection e) pour valider une connexion. Une exception signifie que la connexion est détruite. Cela remplace le paramètre check-valid-connection-sql s'il est présent.
|
check-valid-connection-sql | Un énoncé SQL pour vérifier la validité d'un pool de connexion. Peut être appelé quand une connexion gérée est tirée d'un pool. |
validate-on-match |
Indique si la validation de niveau de connexion est exécutée lorsqu'une fabrique de connexions essaie de correspondre à une connexion gérée pour un ensemble donné.
Indiquer "true" pour
validate-on-match n'est pas normalement fait en conjonction avec "true" pour background-validation . Validate-on-match est utile quand un client doit avoir une connexion vallidée avant utilisation. Ce paramètre est à false par défaut.
|
background-validation |
Indique que les connexions sont validées sur un thread d'arrière-plan. La validation de l'arrière-plan (Background validation) est une optimisation de performance lorsque non utilisé avec
validate-on-match . Si Validate-on-match est sur true, l'utilisation de background-validation pourrait entraîner des contrôles redondants. La validation de l'arrière-plan pourrait provoquer une mauvaise connexion (une connexion qui irait mal entre le moment de l'analyse de validation et avant d'être donnée au client), l'application cliente doit par conséquent tenir compte de cette possibilité.
|
background-validation-millis | La durée, en millisecondes, pendant laquelle la validation d'arrière-plan exécute. |
use-fast-fail |
Si défini sur true, échoue une allocation de connexion lors de la première tentative, si la connexion est non valide. La valeur par défaut est
false .
|
stale-connection-checker |
Une instance de
org.jboss.jca.adapters.jdbc.StaleConnectionChecker qui produit une méthode booléenne isStaleConnection(SQLException e) . Si cette méthode renvoie un true , l'exception sera contenue dans org.jboss.jca.adapters.jdbc.StaleConnectionException , qui correspond à une sous-classe de SQLException .
|
exception-sorter |
Une instance de
org.jboss.jca.adapters.jdbc.ExceptionSorter qui fournit une méthode booléenne isExceptionFatal(SQLException e) . Cette méthode validera si une exception est envoyée à toutes les instances d'un javax.resource.spi.ConnectionEventListener en tant que message connectionErrorOccurred .
|
Paramètre | Description |
---|---|
use-try-lock | Utiliser tryLock() au lieu de lock() . Vous essayerez ainsi d'obtenir un verrou pour le nombre de secondes configurées, avant le timeout, au lieu d'échouer immédiatement quand le verrou n'est pas disponible. La valeur par défaut est de 60 secondes. Par exemple, pour définir un timeout de 5 minutes, définir <use-try-lock> 300</use-try-lock> . |
blocking-timeout-millis | La durée maximale, en millisecondes, de blocage lorsque vous attendez une connexion. Après que ce délai soit dépassé, une exception sera levée. Cela bloque uniquement pendant que vous attendez un permis de connexion et ne lève pas d'exception si la création d'une nouvelle connexion prend beaucoup de temps. Par défaut, 30000, qui correspond à 30 secondes. |
idle-timeout-minutes |
La durée maximale, en minutes, avant qu'une connexion inactive soit fermée. La durée maximale réelle dépend de la durée d'analyse de l'idleRemover, qui correspond à la moitié du plus petit
idle-timeout-minutes de n'importe quel pool.
|
set-tx-query-timeout |
Indique si on doit définir le timeout d'interrogation par rapport au temps qui reste avant le timeout de transaction. Si aucune transaction n'existe, on utilisera le timeout de recherche qui a été configuré. La valeur par défaut est
false .
|
query-timeout | Timeout pour les recherches, en secondes. La valeur par défaut est « no timeout ». |
allocation-retry | Le nombre de tentatives de connexions avant d'envoyer une connexion. La valeur par défaut est 0 , pour qu'une exception puisse être envoyée à la première défaillance. |
allocation-retry-wait-millis |
Le temps, en millisecondes, qu'il faut attendre avant de retenter d'allouer une connexion. La valeur par défaut est 5 000, soit 5 secondes.
|
xa-resource-timeout |
Si la valeur est non nulle, elle passe à la méthode
XAResource.setTransactionTimeout .
|
Paramètre | Description |
---|---|
track-statements |
Indique si l'on doit vérifier les instructions non fermées lorsqu'une connexion est renvoyée à un pool ou qu'une instruction est retournée dans le cache d'instruction préparée. Si false, les instructions ne seront pas suivies.
|
prepared-statement-cache-size | Le nombre d'instructions préparées par connexion, dans le cache LRU (le moins souvent utilisé récemment). |
share-prepared-statements |
Indique si le fait de demander la même instruction deux fois sans la fermer utilise la même instruction préparée sous-jacente. La valeur par défaut est
false .
|
Paramètre | Description |
---|---|
recover-credential | Une paire nom d'utilisateur/mot de passe ou domaine de sécurité pour le recouvrement. |
recover-plugin |
Une mise en œuvre de la classe
org.jboss.jca.core.spi.recoveryRecoveryPlugin à utiliser pour le recouvrement.
|
6.7.2. Les URL de connexion de sources de données
Source de données | URL de connexion |
---|---|
PostgreSQL | jdbc:postgresql://SERVER_NAME:PORT/DATABASE_NAME |
MySQL | jdbc:mysql://SERVER_NAME:PORT/DATABASE_NAME |
Oracle | jdbc:oracle:thin:@ORACLE_HOST:PORT:ORACLE_SID |
IBM DB2 | jdbc:db2://SERVER_NAME:PORT/DATABASE_NAME |
Microsoft SQLServer | jdbc:sqlserver://SERVER_NAME:PORT;DatabaseName=DATABASE_NAME Note
Le modèle jdbc:microsoft:sqlserver://SERVER_NAME:PORT;DatabaseName=DATABASE_NAME ne fonctionne pas avec la nouvelle base de données.
|
6.7.3. Extensions de sources de données
Extension de sources de données | Paramètre de configuration | Description |
---|---|---|
org.jboss.jca.adapters.jdbc.spi.ExceptionSorter | <exception-sorter> | Vérifie si SQLException est fatale pour la connexion sur laquelle l'exception a été lancée |
org.jboss.jca.adapters.jdbc.spi.StaleConnection | <stale-connection-checker> | Wraps stale SQLExceptions in a org.jboss.jca.adapters.jdbc.StaleConnectionException |
org.jboss.jca.adapters.jdbc.spi.ValidConnection | <valid-connection-checker> | Vérifie si une connexion est valide pour être utilisée par l'application |
Implémentations des extensions
- Générique
- org.jboss.jca.adapters.jdbc.extensions.novendor.NullExceptionSorter
- org.jboss.jca.adapters.jdbc.extensions.novendor.NullStaleConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.novendor.NullValidConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.novendor.JDBC4ValidConnectionChecker
- PostgreSQL
- org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter
- org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker
- MySQL
- org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter
- org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLReplicationValidConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker
- IBM DB2
- org.jboss.jca.adapters.jdbc.extensions.db2.DB2ExceptionSorter
- org.jboss.jca.adapters.jdbc.extensions.db2.DB2StaleConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.db2.DB2ValidConnectionChecker
- Sybase
- org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseExceptionSorter
- org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseValidConnectionChecker
- Microsoft SQLServer
- org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker
- Oracle
- org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter
- org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker
- org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker
6.7.4. Voir les statistiques de sources de données
jdbc
et pool
qui utilisent des versions modifiées des commandes ci-dessous :
Exemple 6.13. Obtention des statistiques de sources de données
/subsystem=datasources/data-source=ExampleDS/statistics=jdbc:read-resource(include-runtime=true)
/subsystem=datasources/data-source=ExampleDS/statistics=pool:read-resource(include-runtime=true)
Note
include-runtime=true
car tous les statistiques sont en runtime uniquement et la valeur par défaut est false
.
6.7.5. Statistiques de bases de données
Le tableau suivant montre une liste des statistiques principaux de sources de données pris en charge :
Nom | Description |
---|---|
ActiveCount |
Le nombre de connexions actives. Chacune de ces connexions est soit utilisée par une application, ou disponible via pool
|
AvailableCount |
Le nombre de connexions disponibles dans le pool
|
AverageBlockingTime |
Le durée moyenne passée à bloquer l'obtention d'un verrou exclusif sur le pool. La valeur est en millisecondes.
|
AverageCreationTime |
Le durée moyenne passée à créer une connexion. La valeur est en millisecondes.
|
CreatedCount |
Le nombre de connexions créées.
|
DestroyedCount |
Le nombre de connexions détruites.
|
InUseCount |
Le nombre de connexions actuellement utilisées.
|
MaxCreationTime |
La durée maximum pour créer une connexion. La valeur est en millisecondes.
|
MaxUsedCount |
Le nombre maximum de connexions utilisées
|
MaxWaitCount |
Le nombre maximum de requêtes attendant une connexion en même temps.
|
MaxWaitTime |
Le durée maximum à attendre un verrou exclusif sur le pool.
|
TimedOut |
Le nombre de connexions expirées
|
TotalBlockingTime |
Le durée à attendre un verrou exclusif sur le pool. La valeur est en millisecondes.
|
TotalCreationTime |
La durée passée à créer des connexions. La valeur est en millisecondes.
|
WaitCount |
Le nombre de requêtes en attente de connexion.
|
Le tableau suivant montre une liste des statistiques JDBC de sources de données pris en charge :
Nom | Description |
---|---|
PreparedStatementCacheAccessCount |
Le nombre de fois qu'un cache d'énoncé a été accédé.
|
PreparedStatementCacheAddCount |
Le nombre d'énoncés ajoutés au cache de l'énoncé.
|
PreparedStatementCacheCurrentSize |
Le nombre d'énoncés préparés et que l'on peut appeler, actuellement mis en cache dans un cache d'énoncé.
|
PreparedStatementCacheDeleteCount |
Le nombre d'énoncés rejetés du cache.
|
PreparedStatementCacheHitCount |
Le nombre de fois que des énoncés de cache ont été utilisés.
|
PreparedStatementCacheMissCount |
Le nombre de fois qu'une requête d'énoncé a pu être réglée par un énoncé d'un cache.
|
Core
et JDBC
en utilisant des versions appropriément modifiées des commandes suivantes :
/subsystem=datasources/data-source=ExampleDS/statistics=pool:write-attribute(name=statistics-enabled,value=true)
/subsystem=datasources/data-source=ExampleDS/statistics=jdbc:write-attribute(name=statistics-enabled,value=true)
6.8. Exemples de sources de données
6.8.1. L'exemple de source de données PostgreSQL
Exemple 6.14. Configuration des sources de données PostSQL
<datasources> <datasource jndi-name="java:jboss/PostgresDS" pool-name="PostgresDS"> <connection-url>jdbc:postgresql://localhost:5432/postgresdb</connection-url> <driver>postgresql</driver> <security> <user-name>admin</user-name> <password>admin</password> </security> <validation> <background-validation>true</background-validation> <background-validation-millis>60000</background-validation-millis> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"></valid-connection-checker> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"></exception-sorter> </validation> </datasource> <drivers> <driver name="postgresql" module="org.postgresql"> <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class> </driver> </drivers> </datasources>
module.xml
pour la source de données PostgreSQL ci-dessus.
Exemple 6.15. module.xml
<module xmlns="urn:jboss:module:1.1" name="org.postgresql"> <resources> <resource-root path="postgresql-9.1-902.jdbc4.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
6.8.2. Exemple de source de données PostgreSQL XA
Exemple 6.16. Source de données PostSQL XA
<datasources> <xa-datasource jndi-name="java:jboss/PostgresXADS" pool-name="PostgresXADS"> <driver>postgresql</driver> <xa-datasource-property name="ServerName">localhost</xa-datasource-property> <xa-datasource-property name="PortNumber">5432</xa-datasource-property> <xa-datasource-property name="DatabaseName">postgresdb</xa-datasource-property> <security> <user-name>admin</user-name> <password>admin</password> </security> <validation> <background-validation>true</background-validation> <background-validation-millis>60000</background-validation-millis> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"> </valid-connection-checker> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"> </exception-sorter> </validation> </xa-datasource> <drivers> <driver name="postgresql" module="org.postgresql"> <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class> </driver> </drivers> </datasources>
module.xml
pour la source de données PostgreSQL XA ci-dessus.
Exemple 6.17. module.xml
<module xmlns="urn:jboss:module:1.1" name="org.postgresql"> <resources> <resource-root path="postgresql-9.1-902.jdbc4.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
6.8.3. Exemple de source de données MySQL
Exemple 6.18. Configuration de source de données MySQL
<datasources> <datasource jndi-name="java:jboss/MySqlDS" pool-name="MySqlDS"> <connection-url>jdbc:mysql://mysql-localhost:3306/jbossdb</connection-url> <driver>mysql</driver> <security> <user-name>admin</user-name> <password>admin</password> </security> <validation> <background-validation>true</background-validation> <background-validation-millis>60000</background-validation-millis> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"></valid-connection-checker> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"></exception-sorter> </validation> </datasource> <drivers> <driver name="mysql" module="com.mysql"> <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> </driver> </drivers> </datasources>
module.xml
pour la source de données MySQL ci-dessus.
Exemple 6.19. module.xml
<module xmlns="urn:jboss:module:1.1" name="com.mysql"> <resources> <resource-root path="mysql-connector-java-5.0.8-bin.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
6.8.4. Exemple de source de données MySQL XA
Exemple 6.20. Source de données MySQL XA
<datasources> <xa-datasource jndi-name="java:jboss/MysqlXADS" pool-name="MysqlXADS"> <driver>mysql</driver> <xa-datasource-property name="ServerName">localhost</xa-datasource-property> <xa-datasource-property name="DatabaseName">mysqldb</xa-datasource-property> <security> <user-name>admin</user-name> <password>admin</password> </security> <validation> <background-validation>true</background-validation> <background-validation-millis>60000</background-validation-millis> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"></valid-connection-checker> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"></exception-sorter> </validation> </xa-datasource> <drivers> <driver name="mysql" module="com.mysql"> <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> </driver> </drivers> </datasources>
module.xml
pour la source de données MySQL XA ci-dessus.
Exemple 6.21. module.xml
<module xmlns="urn:jboss:module:1.1" name="com.mysql"> <resources> <resource-root path="mysql-connector-java-5.0.8-bin.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
6.8.5. L'exemple de source de données Oracle
Note
Exemple 6.22. Configuration de source de données Oracle
<datasources> <datasource jndi-name="java:/OracleDS" pool-name="OracleDS"> <connection-url>jdbc:oracle:thin:@localhost:1521:XE</connection-url> <driver>oracle</driver> <security> <user-name>admin</user-name> <password>admin</password> </security> <validation> <background-validation>true</background-validation> <background-validation-millis>60000</background-validation-millis> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"></valid-connection-checker> <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"></stale-connection-checker> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"></exception-sorter> </validation> </datasource> <drivers> <driver name="oracle" module="com.oracle"> <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> </driver> </drivers> </datasources>
module.xml
pour la source de données Oracle ci-dessus.
Exemple 6.23. module.xml
<module xmlns="urn:jboss:module:1.1" name="com.oracle"> <resources> <resource-root path="ojdbc6.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
6.8.6. Exemple de source de données d'Oracle XA
Note
Important
user
est une valeur définie par l'utilisateur pour pouvoir se connecter à partir de JBoss à Oracle :
- GRANT SELECT ON sys.dba_pending_transactions TO user;
- GRANT SELECT ON sys.pending_trans$ TO user;
- GRANT SELECT ON sys.dba_2pc_pending TO user;
- GRANT EXECUTE ON sys.dbms_xa TO user; (If using Oracle 10g R2 (patched) or Oracle 11g)OUGRANT EXECUTE ON sys.dbms_system TO user; (If using an unpatched Oracle version prior to 11g)
Exemple 6.24. Source de données Oracle XA
<datasources> <xa-datasource jndi-name="java:/XAOracleDS" pool-name="XAOracleDS"> <driver>oracle</driver> <xa-datasource-property name="URL">jdbc:oracle:oci8:@tc</xa-datasource-property> <security> <user-name>admin</user-name> <password>admin</password> </security> <xa-pool> <is-same-rm-override>false</is-same-rm-override> <no-tx-separate-pools /> </xa-pool> <validation> <background-validation>true</background-validation> <background-validation-millis>60000</background-validation-millis> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"></valid-connection-checker> <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"></stale-connection-checker> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"></exception-sorter> </validation> </xa-datasource> <drivers> <driver name="oracle" module="com.oracle"> <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> </driver> </drivers> </datasources>
module.xml
pour la source de données Oracle XA ci-dessus.
Exemple 6.25. module.xml
<module xmlns="urn:jboss:module:1.1" name="com.oracle"> <resources> <resource-root path="ojdbc6.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
6.8.7. Exemple de source de données Microsoft SQLServer
Exemple 6.26. Configuration de source de données de SQLserver
<datasources> <datasource jndi-name="java:/MSSQLDS" pool-name="MSSQLDS"> <connection-url>jdbc:sqlserver://localhost:1433;DatabaseName=MyDatabase</connection-url> <driver>sqlserver</driver> <security> <user-name>admin</user-name> <password>admin</password> </security> <validation> <background-validation>true</background-validation> <background-validation-millis>60000</background-validation-millis> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"></valid-connection-checker> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLExceptionSorter"></exception-sorter> </validation> </datasource> <drivers> <driver name="sqlserver" module="com.microsoft"> <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class> </driver> </datasources>
module.xml
pour la source de données Microsoft SQLServer ci-dessus.
Exemple 6.27. module.xml
<module xmlns="urn:jboss:module:1.1" name="com.microsoft"> <resources> <resource-root path="sqljdbc4.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
6.8.8. Exemple de source de données Microsoft SQLServer XA
Exemple 6.28. Source de données SQLserver XA
<datasources> <xa-datasource jndi-name="java:/MSSQLXADS" pool-name="MSSQLXADS"> <driver>sqlserver</driver> <xa-datasource-property name="ServerName">localhost</xa-datasource-property> <xa-datasource-property name="DatabaseName">mssqldb</xa-datasource-property> <xa-datasource-property name="SelectMethod">cursor</xa-datasource-property> <security> <user-name>admin</user-name> <password>admin</password> </security> <xa-pool> <is-same-rm-override>false</is-same-rm-override> </xa-pool> <validation> <background-validation>true</background-validation> <background-validation-millis>60000</background-validation-millis> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"></valid-connection-checker> </validation> </xa-datasource> <drivers> <driver name="sqlserver" module="com.microsoft"> <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class> </driver> </drivers> </datasources>
module.xml
pour la source de données Microsoft SQLServer XA ci-dessus.
Exemple 6.29. module.xml
<module xmlns="urn:jboss:module:1.1" name="com.microsoft"> <resources> <resource-root path="sqljdbc4.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
6.8.9. Exemple de source de données IBM DB2
Exemple 6.30. Configuration de source de données IBM DB2
<datasources> <datasource jndi-name="java:/DB2DS" pool-name="DB2DS"> <connection-url>jdbc:db2:ibmdb2db</connection-url> <driver>ibmdb2</driver> <pool> <min-pool-size>0</min-pool-size> <max-pool-size>50</max-pool-size> </pool> <security> <user-name>admin</user-name> <password>admin</password> </security> <validation> <background-validation>true</background-validation> <background-validation-millis>60000</background-validation-millis> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2ValidConnectionChecker"></valid-connection-checker> <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2StaleConnectionChecker"></stale-connection-checker> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2ExceptionSorter"></exception-sorter> </validation> </datasource> <drivers> <driver name="ibmdb2" module="com.ibm"> <xa-datasource-class>com.ibm.db2.jdbc.DB2XADataSource</xa-datasource-class> </driver> </drivers> </datasources>
module.xml
pour la source de données IBM DB2 ci-dessus.
Exemple 6.31. module.xml
<module xmlns="urn:jboss:module:1.1" name="com.ibm"> <resources> <resource-root path="db2jcc4.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
6.8.10. Exemple de source de données IBM DB2 XA
Exemple 6.32. Configuration de source de données IBM DB2 XA
<datasources> <xa-datasource jndi-name="java:/DB2XADS" pool-name="DB2XADS"> <driver>ibmdb2</driver> <xa-datasource-property name="DatabaseName">ibmdb2db</xa-datasource-property> <xa-datasource-property name="ServerName">hostname</xa-datasource-property> <xa-datasource-property name="PortNumber">port</xa-datasource-property> <security> <user-name>admin</user-name> <password>admin</password> </security> <xa-pool> <is-same-rm-override>false</is-same-rm-override> </xa-pool> <validation> <background-validation>true</background-validation> <background-validation-millis>60000</background-validation-millis> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2ValidConnectionChecker"></valid-connection-checker> <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2StaleConnectionChecker"></stale-connection-checker> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2ExceptionSorter"></exception-sorter> </validation> <recovery> <recover-plugin class-name="org.jboss.jca.core.recovery.ConfigurableRecoveryPlugin"> <config-property name="EnableIsValid">false</config-property> <config-property name="IsValidOverride">false</config-property> <config-property name="EnableClose">false</config-property> </recover-plugin> </recovery> </xa-datasource> <drivers> <driver name="ibmdb2" module="com.ibm"> <xa-datasource-class>com.ibm.db2.jcc.DB2XADataSource</xa-datasource-class> </driver> </drivers> </datasources>
module.xml
pour la source de données IBM DB2 XA ci-dessus.
Exemple 6.33. module.xml
<module xmlns="urn:jboss:module:1.1" name="com.ibm"> <resources> <resource-root path="db2jcc4.jar"/> <resource-root path="db2jcc_license_cisuz.jar"/> <resource-root path="db2jcc_license_cu.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
6.8.11. L'exemple de source de données Sybase
Exemple 6.34. Configuration de la base de données Sybase
<datasources> <datasource jndi-name="java:jboss/SybaseDB" pool-name="SybaseDB" enabled="true"> <connection-url>jdbc:sybase:Tds:localhost:5000/DATABASE?JCONNECT_VERSION=6</connection-url> <security> <user-name>admin</user-name> <password>admin</password> </security> <validation> <background-validation>true</background-validation> <background-validation-millis>60000</background-validation-millis> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseValidConnectionChecker"></valid-connection-checker> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseExceptionSorter"></exception-sorter> </validation> </datasource> <drivers> <driver name="sybase" module="com.sybase"> <datasource-class>com.sybase.jdbc4.jdbc.SybDataSource</datasource-class> <xa-datasource-class>com.sybase.jdbc4.jdbc.SybXADataSource</xa-datasource-class> </driver> </drivers> </datasources>
module.xml
pour la source de données Sybase ci-dessus.
Exemple 6.35. module.xml
<module xmlns="urn:jboss:module:1.1" name="com.sybase"> <resources> <resource-root path="jconn2.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
6.8.12. L'exemple de source de données Sybase XA
Exemple 6.36. Configuration de la base de données Sybase XA
<datasources> <xa-datasource jndi-name="java:jboss/SybaseXADS" pool-name="SybaseXADS" enabled="true"> <xa-datasource-property name="NetworkProtocol">Tds</xa-datasource-property> <xa-datasource-property name="ServerName">myserver</xa-datasource-property> <xa-datasource-property name="PortNumber">4100</xa-datasource-property> <xa-datasource-property name="DatabaseName">mydatabase</xa-datasource-property> <security> <user-name>admin</user-name> <password>admin</password> </security> <xa-pool> <is-same-rm-override>false</is-same-rm-override> </xa-pool> <validation> <background-validation>true</background-validation> <background-validation-millis>60000</background-validation-millis> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseValidConnectionChecker"></valid-connection-checker> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseExceptionSorter"></exception-sorter> </validation> </xa-datasource> <drivers> <driver name="sybase" module="com.sybase"> <datasource-class>com.sybase.jdbc4.jdbc.SybDataSource</datasource-class> <xa-datasource-class>com.sybase.jdbc4.jdbc.SybXADataSource</xa-datasource-class> </driver> </drivers> </datasources>
module.xml
pour la source de données Sybase XA ci-dessus.
Exemple 6.37. module.xml
<module xmlns="urn:jboss:module:1.1" name="com.sybase"> <resources> <resource-root path="jconn2.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
Chapitre 7. Configuration des modules
7.1. Introduction
7.1.1. Modules
- Modules statiques
- Les modules statiques sont prédéfinis dans le répertoire
EAP_HOME/modules/
du serveur d'applications. Chaque sous-répertoire représente un module et contient un sous-fichier de configurationmain/
qui contient un fichier de configuration (module.xml
) et tous les fichiers JAR requis. Le nom du module est défini dans le fichiermodule.xml
. Toutes les API fournies par le serveur de l'application sont des modules statiques, y compris les API Java EE, et les autres API comme JBoss Logging.Exemple 7.1. Exemple de fichier module.xml
<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.0" name="com.mysql"> <resources> <resource-root path="mysql-connector-java-5.1.15.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
Le nom du module,com.mysql
, doit correspondre à la structure du répertoire du module, à l'excepté du nom de sous-répertoiremain/
.Les modules fournis dans les distributions JBoss EAP se trouvent dans un répertoiresystem
se trouvant lui-même dans le répertoireJBOSS_HOME/modules
. Cela les rend séparés de tout module fourni par une tierce partie.Tout produit mis en couche de Red Hat, se superposant sur JBoss EAP 6.1 ou version supérieure installera également leurs modules dans le répertoiresystem
.La création de modules statiques personnalisés peut être utile si plusieurs applications sont déployées sur un même serveur utilisant les mêmes bibliothèques de tierce partie. Au lieu d'un regroupement de ces bibliothèques pour chaque application, un module contenant ces bibliothèques peut être créé et installé par l'administrateur JBoss. Les applications peuvent ensuite déclarer une dépendance explicite sur les modules statiques personnalisés.Les utilisateurs doivent s'assurer que les modules personnalisés soient installés dans le répertoireJBOSS_HOME/modules
, en utilisant un répertoire par couche de modules. Cela garantit que les versions personnalisées de modules qui existent déjà dans le répertoiresystem
soient bien chargées à la place des versions fournies. Ainsi, les modules utilisateur auront la priorité sur les modules fournis par le système.Si vous utilisez la variable d'environnementJBOSS_MODULE_PATH
pour changer les emplacements où JBoss EAP cherche les modules, le produit ira chercher dans une structure de sous-répertoiresystem
dans un des emplacements spécifiés. Une structure de sous-répertoiresystem
doit exister quelquepart dans les emplacements spécifiés dansJBOSS_MODULEPATH
. - Modules dynamiques
- Les modules dynamiques sont créés et chargés par le serveur d'applications pour chaque déploiement JAR ou WAR (ou sous-déploiement d'un EAR). Le nom d'un module dynamique est dérivé du nom de l'archive déployée. Comme les déploiements sont chargés sous forme de modules, ils peuvent configurer des dépendances et peuvent être utilisés comme dépendances par d'autres déploiements.
7.1.2. Modules globaux
7.1.3. Les dépendances de modules
Exemple 7.2. Les dépendances de module
- Le Module A déclare une dépendance explicite sur le Module C, ou bien
- Le Module B exporte ses dépendances sur le Module C.
7.1.4. Isolement du chargeur de classes d'un sous-déploiement
7.2. Désactiver l'isolement de module de sous-déploiement pour tous les déploiements
Avertissement
Arrêter le serveur
Mettre en halte le serveur JBoss EAP 6.Ouvrir le fichier de configuration du serveur
Ouvrir le fichier de configuration du serveur dans un éditeur de texteCe fichier sera différent pour un domaine géré ou un serveur autonome. De plus, des emplacements et des noms de fichiers non-défauts peuvent être utilisés. Les fichiers de configuration par défaut sontdomain/configuration/domain.xml
etstandalone/configuration/standalone.xml
pour les domaines gérés et les serveurs autonomes respectivement.Chercher la configuration de sous-système EE
Chercher la configuration de sous-système EE dans le fichier de configuration. L'élément<profile>
du fichier de configuration contient plusieurs éléments du sous-système. L'élément du sous-système EE a comme espace-nomurn:jboss:domain:ee:1.2
.<profile> ... <subsystem xmlns="urn:jboss:domain:ee:1.2" /> ...
La configuration par défaut a une balise en fermeture automatique unique mais une configuration personnalisée peut avoir des balises d'ouverture ou de fermeture distinctes (éventuellement avec d'autres éléments à l'intérieur) comme ceci :<subsystem xmlns="urn:jboss:domain:ee:1.2" ></subsystem>
Remplacer les balises en fermeture automatique si nécessaire
Si l'élément de sous-système EE est une balise en fermeture automatique unique, remplacez-la par les balises d'ouverture ou de fermeture qui conviennent ainsi :<subsystem xmlns="urn:jboss:domain:ee:1.2" ></subsystem>
Ajouter l'élément ear-deployments-isolated
Ajouter l'élémentear-subdeployments-isolated
comme dépendant de l'élément du sous-système EE et ajouter le contenu defalse
comme suit :<subsystem xmlns="urn:jboss:domain:ee:1.2" ><ear-subdeployments-isolated>false</ear-subdeployments-isolated></subsystem>
Démarrer le serveur
Lancer à nouveau le serveur JBoss EAP 6 pour qu'il commence à exécuter avec la nouvelle configuration.
Le serveur va maintenant exécuter avec l'isolement de module de sous-déploiement désactivé pour tous les déploiements.
7.3. Ajouter un module à tous les déploiements
Conditions préalables
- Vous devez connaître le nom des modules qui ont été ajoutés comme modules globaux. Voir Section 7.6.1, « Les modules inclus » pour obtenir la liste des modules statiques inclus dans JBoss EAP 6. Si le module est dans un autre déploiement, voir Section 7.6.2, « Nommage de modules dynamiques » pour déterminer le nom du module.
Procédure 7.1. Ajouter un module à la liste des modules globaux
- Connectez-vous à la console de gestion. Section 3.4.2, « Se connecter à la console de gestion »
- Naviguer dans le panneau EE Subsystem.
- Sélectionner Configuration qui se trouve en haut de la console.
Mode Domaine uniquement
- Sélectionner le profil qui convient à partir du menu déroulant en haut à gauche.
- Étendre le menuqui se trouve à gauche de la console.
- Sélectionner→ à partir du menu à gauche de la console.
- Cliquer sur Subsystem Defaults. La boîte de dialogue Create Module apparaîtra.dans la section
- Saisir alors le nom du module et le slot de module, en option.
- Cliquer surpour ajouter le nouveau module global, ou bien cliquer sur pour annuler.
- Si vous cliquer sur, la boîte de dialogue va se fermer et le module spécifié sera ajouté à la liste des modules globaux.
- Si vous cliquer sur le bouton, la boîte de dialogue se fermera et il n'y aura aucun changement.
Les modules ajoutés à la liste des modules globaux seront ajoutés en tant que dépendances à chaque déploiement.
7.4. Créer un module personnalisé
Procédure 7.2. Créer un module personnalisé
- Créer et compléter la structure de répertoire
module/
.- Créer une structure de répertoire sous le répertoire
EAP_HOME/module
qui contienne les fichiers et les JAR.$ cd EAP_HOME/modules/
$ mkdir -p myorg-conf/main/properties
- Déplacer les fichiers de propriétés dans le répertoire
EAP_HOME/modules/myorg-conf/main/properties/
que vous avez créé à l'étape précédente. - Créer un fichier
module.xml
dans le répertoireEAP_HOME/modules/myorg-conf/main/
qui contienne l'XML suivant :<module xmlns="urn:jboss:module:1.1" name="myorg-conf"> <resources> <resource-root path="properties"/> </resources> </module>
- Modifier le sous-système
ee
du fichier de configuration du serveur. Vous pouvez utiliser l'interface en ligne de commande JBoss CLI, ou bien, vous pouvez éditer le fichier manuellement.- Suivez ces étapes pour modifier le fichier de configuration du serveur par l'interface en ligne de commande JBoss CLI.
- Démarrez le serveur et connectez-vous à l'interface en ligne de commande.
- Dans Linux, saisir ce qui suit au niveau de la ligne de commande :
EAP_HOME/bin/jboss-cli.sh --connect
- Dans Windows, saisir ce qui suit au niveau de la ligne de commande :
C:\>EAP_HOME\bin\jboss-cli.bat --connect
Vous devriez voir apparaître le résultat suivant :Connected to standalone controller at localhost:9999
- Pour créer l'élément <global-modules>
myorg-conf
dans le sous-systèmeee
, saisir ce qui suit dans la ligne de commande :/subsystem=ee:write-attribute(name=global-modules, value=[{"name"=>"myorg-conf","slot"=>"main"}])
Vous devriez voir apparaître le résultat suivant :{"outcome" => "success"}
- Suivre ces étapes si vous préférez éditer manuellement le fichier de configuration du serveur.
- Arrêter le serveur et ouvrir le fichier de configuration du serveur dans un éditeur de texte. Si vous exécutez sur un serveur autonome, il s'agira du fichier
EAP_HOME/standalone/configuration/standalone.xml
ou du fichierEAP_HOME/domain/configuration/domain.xml
si vous exécutez sur un domaine géré. - Chercher le sous-système
ee
et ajouter le module global demyorg-conf
. Ce qui suit est un exemple d'élément du sous-systèmeee
modifié pour inclure l'élémentmyorg-conf
:Exemple 7.3. élément
myorg-conf
<subsystem xmlns="urn:jboss:domain:ee:1.0" > <global-modules> <module name="myorg-conf" slot="main" /> </global-modules> </subsystem>
- Si vous copiez un fichier nommé
my.properties
dans l'emplacement de module qui convient, vous pourrez alors charger les fichiers de propriétés en utilisant un code qui ressemble à ceci :Exemple 7.4. Télécharger le fichier de propriétés
Thread.currentThread().getContextClassLoader().getResource("my.properties");
7.5. Définir un répertoire de modules JBoss externe
Par défaut, JBoss EAP recherche les modules dans le répertoire EAP_HOME/modules/
. Vous pouvez demander à JBoss EAP de regarder dans un ou plusieurs modules répertoires externes en définissant une variable d'environnement JBOSS_MODULEPATH
ou en définissant la variable dans le fichier de configuration de démarrage. Cette section décrit les deux méthodes.
Procédure 7.3. Définissez la variable d'environnement JBOSS_MODULEPATH
- Pour sépécifier un ou plusieurs répertoires de module externes, définir la variable d'environnement
JBOSS_MODULEPATH
.Dans Linux, utiliser les deux-points pour délimiter une liste de répertoires. Par exemple :Exemple 7.5. variable d'environnement
JBOSS_MODULEPATH
export JBOSS_MODULEPATH=EAP_HOME/modules/:/home/username/external/modules/directory/
Dans Linux, utiliser un point-virgule pour délimiter une liste de répertoires. Par exemple :Exemple 7.6. variable d'environnement
JBOSS_MODULEPATH
SET JBOSS_MODULEPATH=EAP_HOME\modules\;D:\JBoss-Modules\
Procédure 7.4. Définissez la variable JBOSS_MODULEPATH dans le fichier de configuration de démarrage.
- Si vous choisissez de ne pas définir une variable d'environnement globale, vous pouvez définir la variable
JBOSS_MODULEPATH
dans le fichier de configuration de démarrage de JBoss EAP. Si vous exécutez dans un serveur autonome, il s'agira du fichierEAP_HOME/bin/standalone.conf
. Si le serveur exécute dans dans un domaine géré, il s'agira du fichierEAP_HOME/bin/domain.conf
.Vous trouverez ci-dessous un exemple de la commande qui définit la variableJBOSS_MODULEPATH
dans le fichierstandalone.conf
:Exemple 7.7. entrée
standalone.conf
JBOSS_MODULEPATH="EAP_HOME/modules/:/home/username/external/modules/directory/"
7.6. Référence
7.6.1. Les modules inclus
7.6.2. Nommage de modules dynamiques
- Les déploiements des fichiers WAR et JAR sont nommés selon le format suivant :
deployment.DEPLOYMENT_NAME
Par exemple,inventory.war
etstore.jar
auront les mêmes noms de module quedeployment.inventory.war
etdeployment.store.jar
respectivement. - Les sous-déploiements des archives Enterprise sont nommés selon le format suivant :
deployment.EAR_NAME.SUBDEPLOYMENT_NAME
Ainsi, le sous-déploiementreports.war
, qui se trouve dans l'archive Enterpriseaccounts.ear
, aura le nom de module dudeployment.accounts.ear.reports.war
.
Chapitre 8. Jsvc
8.1. Introduction
8.1.1. Jsvc
Note
prunsrv.exe
dans Native Utilities for Windows Server
disponibles depuis le portail clients de Red Hat.
8.1.2. Démarrer et arrêter JBoss EAP par Jsvc
Conditions préalables
- Si JBoss EAP était installé par la méthode Zip :
- Installez le package Native Utilities de votre système d'exploitation, disponible à partir du portail clients de Red Hat Install Native Components and Native Utilities (Zip, Installer) dans Installation Guide.
- Créez le compte d'utilisateur sous lequel s'exécute l'instance de JBoss EAP 6. Le compte utilisé pour démarrer et arrêter le serveur doit posséder un accès lecture et écriture dans le répertoire où JBoss EAP a été installé.
- Si JBoss EAP était installé par la méthode RPM, installez le package apache-commons-daemon-jsvc-eap6. Voir Install Native Components and Native Utilities (RPM Installation) dans le guide Installation Guide.
Les instructions suivantes sont utilisées pour démarrer ou pour stopper JBoss EAP en mode autonome.
Référence Fichier en Instructions | Emplacement fichier |
---|---|
EAP-HOME |
${eap-installation-location}/jboss-eap-${version}
|
JSVC-BIN |
EAP_HOME/modules/system/layers/base/native/sbin/jsvc
|
JSVC-JAR |
EAP_HOME/modules/system/layers/base/native/sbin/commons-daemon.jar
|
CONF-DIR |
EAP_HOME/standalone/configuration
|
LOG-DIR |
EAP_HOME/standalone/log
|
Référence Fichier en Instructions | Emplacement fichier |
---|---|
EAP-HOME |
/usr/share/jbossas
|
JSVC-BIN |
/usr/bin/jsvc-eap6/jsvc
|
JSVC-J |