Bonjour à tous,
mon problème se situe sous une version WAS 6.0.2.
je tente d'automatiser l'installation d'applications via un batch qui appelle un script jacl. Cela fonctionne correctement lorsque je le fais pour un ear unique avec un nom de fichier défini par avance.
Là où ça se complique, c'est lorsque je tente d'inclure des variables dans mon jacl. Je n'arrive pas à passer ma variable dans ma commande $AdminApp update, lorsque j'exécute le programme, une erreur au niveau du paramètre -content est détectée en disant qu'il n'arrive pas à lire le fichier car la variable n'est pas prise en compte...
un bon exemple vaut mieux que de longues phrases, voici mon jacl :
et voici le message d'erreur que j'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 set list_applis {AT BE EN ES GR IT PT RU} set appManager [$AdminControl queryNames cell=myCell,node=myNode,type=ApplicationManager,process=server1,*] foreach Sappli $list_applis { puts "Pays en cours de traitement $Sappli" if [ info exists Sfile ] {unset Sfile} set Sfile d:\\mon\\arborescence\\vcm_$Sappli.ear if [ file exists $Sfile ] { puts "Fichier pour $Sappli present" puts "Debut de la mise a jour" puts "Arret de l application" $AdminControl invoke $appManager stopApplication nom_de_lappli$Sappli puts "Update en cours avec le fichier $Sfile" if [ info exists Supdate ] {unset Supdate} set Supdate [$AdminApp update nom_de_lappli$Sappli app {{-operation update -contents D:\mon\arborescence\vcm_$Sappli.ear -preCompileJSPs true}}] puts $Supdate $AdminConfig save puts "Redemarrage de l application" $AdminControl invoke $appManager startApplication nom_de_lappli$Sappli } }
en gros, au lieu de chercher le fichier qui va bien, il cherche le nom du fichier avec un $Sappli dedans au lieu d'interpréter la variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 WASX7209I: Connect au processus "server1" sur le noeud myNode en utilisant le connecteur SOAP. Le type de processus est : UnManagedProcess Pays en cours de traitement AT Fichier pour AT present Debut de la mise a jour Arret de l application Update en cours avec le fichier d:\Ears\vcmarketing\MEP\vcm_AT.ear WASX7017E: Exception reue lors de l''excution du fichier "DeployMonAppli.jacl" ; informations sur l''exception : com.ibm.ws.scripting.ScriptingException: WASX7115E: Impossible de lire le fichier d''entre "D:\mon\arborescence\vcm_$Sappli.ear"
Comment est ce que je peux faire pour que $AdminApp prenne en compte cette variable ?
Merci d'avance pour vos éventuels retours
P.S. : j'ai déjà tenté pas mal de trucs, entre les "" autour de la variable, les "" autour des {} de l'update, les {{}} autour de l'update, l'échappement du $ à l'aide d'un \ placé devant, ...
Partager