Les variables WebSphere servent de paramètres pour les attributs des données de type
qui résident dans les fichiers de configuration de produit.
Avant de commencer
Les applications ne peuvent accéder directement aux variables WebSphere. Par conséquent, lorsque vous définissez une variable WebSphere dans une application, un message d'erreur,
de type "Variable introuvable" est renvoyé. Si vous devez référencer une variable WebSphere
à partir d'une application, ajoutez la méthode ci-dessous à l'application afin de développer la chaîne qui utilise la variable WebShpere.
Eviter les incidents: Le développement de variables WebSphere exige des privilèges d'administration.
gotcha
private String expandVariable(String s) throws
javax.management.JMException {
com.ibm.websphere.management.AdminService as =
com.ibm.websphere.management.AdminServiceFactory.getAdminService
();
String server = as.getProcessName();
java.util.Set result = as.queryNames(new javax.management.ObjectName("*:*,type=AdminOperations,process="
+ server), null);
return (String)as.invoke((javax.management.ObjectName)
result.iterator().next(),"expandVariable",new Object[]
{"${"+s+"}"}, new String[] {"java.lang.String"});
De même, vous pouvez inclure les lignes de code suivantes dans un
fichier script si vous voulez utiliser une commande de script pour
développer les variables WebSphere.
- A l'aide de Jacl :
set mbean [$AdminControl completeObjectName WebSphere:*,type=AdminOperations]
$AdminControl invoke $mbean expandVariable {{"${APP_INSTALL_ROOT}"}}
- En langage
Jython :
AdminOperations = AdminControl.completeObjectName('WebSphere:*,type=AdminOperations')
print AdminControl.invoke(AdminOperations, 'expandVariable',
'${APP_INSTALL_ROOT}')
Pourquoi et quand exécuter cette tâche
Les variables WebSphere sont généralement employées pour indiquer des chemins d'accès
à des fichiers. La rubrique "Paramètres des variables" fournit des détails supplémentaires concernant la spécification des variables et met en avant certains composants du produit qui les utilise.
Les variables WebSphere
permettent également de configurer :
- les noms de chemins de produits, par exemple JAVA_HOME et APP_INSTALL_ROOT ;
- certaines valeurs de personnalisation au niveau de la cellule ou du cluster ;
le service de localisation ;
les variables d'environnement.
Le mécanisme de définition de la portée
d'une variable WebSphere permet de définir une variable au niveau du noeud, du cluster ou de la cellule
mais également au niveau du serveur. Grâce à ce mécanisme, vous pouvez en outre spécifier un paramètre pour tous les serveurs, au niveau d'un noeud, d'un cluster ou d'une cellule. Il n'est donc pas nécessaire de procéder serveur par serveur.
Pour
définir une nouvelle variable, modifier la valeur d'une variable existante ou supprimer
une variable existante, procédez comme suit, selon ce que vous souhaitez faire.
Procédure
- Cliquez sur dans la console d'administration
- Sélectionnez la portée de la variable à partir de la
liste des portées disponibles.
Si vous créez une nouvelle variable,
elle sera créée à la portée sélectionnée. Si vous définissez la même variable à plusieurs niveaux, la
définition la plus granulaire remplace le paramètre de niveau le plus élevé. Par exemple, si vous spécifiez la même variable sur un niveau de cellule et
à un niveau de noeud, le paramètre du niveau de noeud remplace celui du niveau de cellule.
L'attribution d'une portée
aux variables est particulièrement importante si vous testez des objets de source de données. L'affectation
d'une portée à une variable peut amener une source de données à échouer lors du test
de connexion, mais à réussir à se connecter lors de l'exécution et vice versa.
- Créez une nouvelle variable.
- Cliquez sur Nouveau.
- Indiquez un nom, une valeur et une description (facultatif) pour la variable.
Le serveur d'applications utilise des variables internes à WebSphere
Application Server pour ses propres besoins. Les préfixes qui indiquent qu'une variable est interne sont
WAS_DAEMON_<propriété personnalisée server>, WAS_DAEMON_ONLY_<propriété personnalisée server> et WAS_SERVER_ONLY_<propriété personnalisée server>. Vous ne devez pas utiliser les variables contenant ces balises. Elles sont réservées
exclusivement au contexte d'exécution du serveur. Si vous les modifiez, des erreurs
peuvent se produire.
Vous pouvez utiliser les variables WebSphere pour modifier la
configuration du démon. En ajoutant une propriété de serveur personnalisée à une balise de démon,
vous pouvez désigner cette variable comme étant destinée spécialement à ce
démon. Entrez DAEMON_<propriété personnalisée server> dans la zone Nom. Par exemple, si vous indiquez
DAEMON_emplacementsortie_trace_ras dans la zone Nom et
SYSOUT dans la zone Valeur, vous dirigez la sortie de trace du
démon spécifique vers SYSPRINT.
Vous pouvez créer des variables Websphere prenant en charge la substitution. Par exemple, si vous entrez ${<nom variable>} dans la zone Nom, la valeur <nom variable> devient le nom de
la nouvelle variable WebSphere. Par exemple,
si vous indiquez ${JAVA_HOME} comme nom pour votre variable, le nom
de la variable WebSphere créée est le répertoire de base Java™.
- Cliquez sur OK.
- Cliquez sur dans l'arborescence de
navigation de la console d'administration et vérifiez que la variable
s'affiche dans la liste de variables destinées à la portée
sélectionnée.
Si vous l'avez
mal orthographiée, la console d'administration ne la détecte pas La
variable est ignorée si elle est référencée incorrectement.
- Modifier le paramètre pour une variable existante.
- Cliquez sur le nom de la variable que vous voulez modifier.
- Modifiez le contenu de la zone Valeurs.
La zone Valeurs
de certaines variables prédéfinies lorsque vous installez le produit sont en lecture seule
car leur modification
pourrait entraîner des erreurs de traitement du produit.
- Cliquez sur OK.
- Supprimer une variable existante.
- Sélectionnez la variable que vous voulez supprimer.
- Cliquez sur Supprimer.
- Cliquez sur OK.
- Vérifiez qu'elle a bien été supprimée de la liste des variables pour
la portée sélectionnée.
- Sauvegardez votre configuration.
- Arrêtez les serveurs attribués et redémarrez-les pour appliquer le changement de configuration.
Si les modifications que vous avez effectuées affecte un noeud, vous devez arrêter et redémarrer tous les serveurs sur ce noeud.
De même, si les modifications que vous avez effectuées affecte une cellule, vous devez arrêter et redémarrer tous les serveurs de cette cellule.