Comme j’ai promis dans un premier article qui décrit la manière de créer une fabrique de connexion MQ avec jacl, je reviens sur cet article pour présenter un tutoriel permettant de créer une file d’attente dans un serveur WAS (Websphere Application Server) en utilisant un script jacl.
Idem à la création de la fabrique de connexion, on aura besoin de déterminer la cellule et le nÅ“ud de du profile serveur sur le quelle sera exécuter le script jacl. L’identification des profils, cellules, et nÅ“uds ne seront pas traités dans cet article (je suis un peu paresseux 😀 ), pour connaître comment peut-on les identifier consulter l’article « Créer une fabrique de connexion MQ avec jacl ».
Pour la suite de l’article on va supposer :
- Serveur : myServerProfile
- Cellule : myServerCell
- NÅ“ud : myServerNode
Après l’identification de la cellule et le nœud, passant maintenant au script en définissant le fournisseur de la fabrique :
D’autre variables seront utiles pour rendre ce script facile à utiliser, je parle surtout des variables suivantes :
set myServerNode « myServerNode »
set myServer « myServerProfile »
Pour importer l’environnement d’exécution du script on ajoute la variable :
Tout ce qu’on vient de voir est commun entre la fabrique de connexion et les files d’attente, mais ce qui suit ne concerne que les files d’attente MQ.
Pour créer la file d’attente il faut identifier des variables spécifiques, pour connaître celles qui sont requises utiliser la commande :
sinon pour connaître la liste des variables possibles utiliser :
Pour cet exemple, on va se baser sur les variables suivantes :
set jndi [list jndiName jms/myserviceconsult]
set baseQN [list baseQueueName MYMQ.SERVICE.CONSULT]
le paramètre « baseQueueName » représente le nom de la file d’attente dans IBM MQ Manager. Ces différents paramètre doivent être regroupés dans une seul variable pour qu’on puisse les passer en un seul paramètre pour cela on utilise :
Et en Dernier lieu, pour créer la file d’attente on va faire appel à la commande :
Ce qui va manquer à ce script c’est de pouvoir enregistrée la création pour qu’elle soit effective et donc prise en compte par le server WAS, pour cela on ajoute la ligne :
Le code complet du script est le suivant :
set myServerCell « myServerCell »
set myServerNode « myServerNode »
set myServer « myServerProfile »
set newjmsp [$AdminConfig getid /Cell:$myServerCell/Node:$myServerNode/Server:$myServer/JMSProvider:$myProviderType/]
set name [list name MyService.Consult]
set jndi [list jndiName jms/myserviceconsult]
set baseQN [list baseQueueName MYMQ.SERVICE.CONSULT]
set mqqAttrs [list $baseQNMBM $name $jndi $baseQN $targetclient]
$AdminConfig create MQQueue $newjmsp $mqqAttrs
$AdminConfig save
Le script est maintenant opérationnel, je vais juste rappeler la maniéré par laquelle on peut l’exécuter (je ne suis pas trop paresseux 😀 ). La commande wsadmin se charge d’exécuter les scripts dans WAS. Deux appel sont possible :
- A partir du bin du WAS :
wsadmin -profileName myServerProfile -f myScriptPath.jacl
- A partir du bin du profile :
wsadmin -f myScriptPath.jacl