Puisque je commence à laisser tomber JACL en faveur de Jython, j’essaye de présenter quelques exemples de script Jython à utiliser dans un Serveur WebSphere Application Server (WAS) d’IBM. Sur cet article je vais présenter un article similaire à Créer une file d’attente avec JACL mais avec Jython comme langage de script cette fois ci.
Comme on va utiliser le même exemple, on va donc suivre les même étapes et commençons donc par déterminer la cellule et le nœud de du profile serveur sur lequel sera exécuter le script .
Supposant que nous avons le chemin suivant :
C:\Program Files\IBM\SDP75\runtimes\base_v61\profiles\myServerProfile\config\cells\myServerCell\nodes\myServerNode
ou
/opt/IBM/SDP75/runtimes/base_v61/profiles/myServerProfile/config/cells/myServerCell/nodes/myServerNode
Dans ce cas :
- 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 :
On va supposer que notre serveur est ‘myserver’, dans ce cas la déclaration des variable cellule, nÅ“ud et serveur sera comme suit :
myNode=‘myNode’
myServer=‘myServer’
Pour récupérer l’environnement de l’exécution du script (la cellule et le nœud) on aura besoin de la commande :
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 voir la liste des différents attributs possible essayer :
Pour cet exemple, on va se baser sur les variables suivantes :
MQJndiName=[‘jndiName’, ‘jms/myserviceconsult’]
MQBaseQueueName=[‘baseQueueName’, ‘MYMQ.SERVICE.CONSULT’]
jmsTarget=[‘targetClient’, ‘JMS’]
QueueManagerName=[‘baseQueueManagerName’, ‘MYMANAGER.QUEUE.MANAGER’]
le paramètre « baseQueueName » représente le nom de la file d’attente dans IBM MQ Manager Quant au paramètre « baseQueueManagerName » représente le nom du gestionnaire des files d’attente. 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 :
Pour enregistrer la file d’attente et donc qu’elle soit opérationnelle, il est très important de faire appel à la commande :
Pour simuler ‘create or replace’, on va vérifier si la file existe déjà , si c’est le cas on va la supprimer avant de la recréer, pour cela il faut ajouter le code suivant dans notre script :
if exQueue!="" :
AdminConfig.remove(exQueue)
Le code complet du script est le suivant :
myCell=‘myCell’
myNode=‘myNode’
myServer=‘myServer’
mqjmsp = AdminConfig.getid(‘/Cell:’+myCell+‘/Node:’+myNode+‘/Server:’+myServer+‘/JMSProvider:’+myJMSProvider)
exQueue=AdminConfig.getid(‘/MQQueue:MyService.Consult’)
if exQueue!="" :
AdminConfig.remove(exQueue)
MQName=[‘name’, ‘MyService.Consult’]
MQJndiName=[‘jndiName’, ‘jms/myserviceconsult’]
MQBaseQueueName=[‘baseQueueName’, ‘MYMQ.SERVICE.CONSULT’]
jmsTarget=[‘targetClient’, ‘JMS’]
QueueManagerName=[‘baseQueueManagerName’, ‘MYMANAGER.QUEUE.MANAGER’]
mqqAttrs=[QueueManagerName, MQName, MQJndiName, MQBaseQueueName, jmsTarget]
AdminConfig.create(‘MQQueue’, mqjmsp, mqqAttrs)
AdminConfig.save()
Le script est maintenant opérationnel, je vais juste rappeler la maniéré par laquelle on peut l’exécuter :
- A partir du bin du WAS :
- A partir du bin du profile :