Bonjour à tous,

On m'a récemment demandé de mettre en place un script qui sera lancé au démarrage d'un serveur d'applications websphere quel qu'il soit. Ce script devra vérifier que dans le champ genericJvmArguments, la valeur "-Djava.awt.headless=true" est bien présente, et qu'il l'ajoute le cas échéant.

Je n'en suis qu'aux balbutiement, mais je réussi à atteindre mon objectif via la console d'administration wsadmin.sh. J'arrive effectivement à modifier cette valeur grâce à la commande suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$AdminConfig modify $jvm {{genericJvmArguments -Djava.awt.headless=true}}
Mon problème, ce sont les éléments déjà présents, puisqu'avec cette ligne, je remplace tout. Donc, je me suis amusé à récupérer les valeurs précédentes, et je me suis naïvement dit qu'il suffisait de rajouter le $oldValues à ma ligne... Mais c'etait là une grosse erreur. En effet, il essaie obstinément de m'insérer la valeur telle qu'elle ("$oldValues -Djava.awt.headless=true"), donc sans remplacement de la variable.

J'ai fouillé toute la journée, testé toutes les solutions proposées, mais rien. Je m'en remets donc à vous. Ci-dessous, mon code (pour éclaircir au cas où j'ai été flou).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
set serverId [$AdminConfig getid "/Server:test_mandriva/"]
set procdef [$AdminConfig list JavaProcessDef $serverId]
set jvm [$AdminConfig list JavaVirtualMachine $procdef]
set oldJvmOptions [$AdminConfig showAttribute $jvm genericJvmArguments]
$AdminConfig modify $jvm {{ genericJvmArguments "$oldJvmOptions -Djava.awt.headless=true"}}
$AdminConfig save
Merci d'avance pour votre temps et votre éclairage sur mon problème =)

Info : Websphere version 5.1.1.9 sous Mandriva

Cordialement,
Oni-Chou !