IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Websphere Java Discussion :

[wsadmin] Passage de paramètre avec jacl ?


Sujet :

Websphere Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Avril 2003
    Messages : 36
    Points : 34
    Points
    34
    Par défaut [wsadmin] Passage de paramètre avec jacl ?
    Bonjour,

    Je débute avec wasdmin, j'ai écrit un petit script .jacl qui me permet de créer un serveur d'application sous websphere mais je ne sais pas si c'est possible de passer des paramètres en plus ?

    Voici mon fichier jacl ("create_server.jacl"):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    set s1 [$AdminConfig getid /Node:MyMachine]
    puts $s1
    set s2 [$AdminConfig create Server $s1 {{name MonServer}}]
    puts $s2
    $AdminConfig save
    Pour le lancer, j'utilise en ligne de commande (faut se mettre dans le répertoire de wsadmin) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wsadmin -f create_server.jacl
    Et moi, je souhaiterais passer des arguments pour faire par exemple un script générique où je passerais le nom du serveur Websphere et le nom du serveur d'application à créé :

    Un truc du genre...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wsadmin -f create_server.jacl MyMachine MonServer
    Mais je ne sais pas comment faire !

    Est ce possible ? Si oui, pouvez vous m'aidez ?

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Avril 2003
    Messages : 36
    Points : 34
    Points
    34
    Par défaut Suite
    Bonjour,

    je parcours la doc IBM sur wsadmin et je ne trouve pas ce que je recherche.

    Mais j'apprends...

    Après réflexion, je ne pense pas que cela soit possible directement via le batch.

    J'ai vu pas contre qu'on pouvait passer des paramètres grave à des variables qu'il faut déclarer dans le ".properties" de wsadmin.

    Cela serait bien si je pouvais faire la même chose avec des variables d'environnements windows...

    Je continue mon investigation et vous tient au courant.

    Bourbaky

  3. #3
    Membre actif
    Femme Profil pro
    Inscrit en
    Août 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Août 2006
    Messages : 109
    Points : 269
    Points
    269
    Par défaut
    Bonjour

    c'est tout à fait possible :
    appel du jacl
    $WASHOME/bin/wsadmin.sh -f create_serveur.jacl monnode monserveur...
    executable jacl
    global AdminConfig
    global AdminControl
    global AdminApp
    if { !($argc >= 2) } {
    puts "il faut au moins 2 paramètres"
    } else {
    set WAS5NODE [lindex $argv 0]
    set WAS5SERVER [lindex $argv 1]
    .......
    }
    J'espère que celà vous aidera..
    sinon pour récupérer une variable d'environnement
    #-----------------------------------------------------------------
    # getenv
    # retourne le contenu de la variable d'environnement
    #-----------------------------------------------------------------
    proc getenv {name {default ""}} {
    global env
    if {[catch {set env($name)} result] == 0} {return $result} {return $default}
    }

    global AdminConfig
    global AdminControl
    global AdminApp
    set MAVAR [getenv MAVAR]
    .....
    Cdlt

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Avril 2003
    Messages : 36
    Points : 34
    Points
    34
    Par défaut MERCI
    Merci pour ton aide précieuse Billette,

    Cela fonctionne à merveille le passage de paramètre en ligne de commande !!!
    Mais maintenant je bloque sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set CREATION [$AdminConfig create Server $node {{name $WASSERVER}}]
    de
    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
    global AdminConfig
    global AdminControl
    global AdminApp
    if { !($argc >= 2) } {
    puts "Il faut au moins 2 paramètres"
    } else {
    set WASNODE [lindex $argv 0]
    puts $WASNODE
    set WASSERVER [lindex $argv 1]
    puts $WASSERVER
    set NODE [$AdminConfig getid /Node:$WASNODE]
    puts $NODE
    set CREATION [$AdminConfig create Server $NODE {{name $WASSERVER}}]
    puts $CREATION
    }
    $AdminConfig save
    Erreur retourner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Le nom du serveur $WASSERVER n'est pas valide.
    Il bloque sur $WASSERVER cela est du au fait de la syntaxe des crochets "{{...}}", il attend le nom du serveur mais moi je lui passe la variable qu'il ne reconnait pas quand elle est entre accolades...

    Dans la doc, IBM dit :
    Utilisez les guillements double et des accolades pour regrouper des mots. Les guillemets permettent les remplacements dans le groupe contraitrement aux accolades qui empéchent les remplacements.

    J'ai essayé différente variante mais pas moyen, ça ne veut pas !
    Je suis allez faire un tour dans la doc pour vérifier la synthaxe de "create Server" et je pense que cela est correct car cela fonctionne bien autrement.

    Je vais chercher encore, j'y suis presque .

    Merci

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Avril 2003
    Messages : 36
    Points : 34
    Points
    34
    Par défaut Aye
    Aye j'ai compris la différence dans l'utilisation de {} et ""

    voilà le code du "create_server.jacl" :

    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
    global AdminConfig
    global AdminControl
    global AdminApp
    if { !($argc >= 2) } {
    puts "Il faut au moins 2 paramètres"
    } else {
    set WASNODE [lindex $argv 0]
    puts $WASNODE
    set WASSERVER [lindex $argv 1]
    puts $WASSERVER
    set NODE [$AdminConfig getid /Node:$WASNODE]
    puts $NODE
    set CREATION [$AdminConfig create Server $NODE "{name $WASSERVER}"]
    puts $CREATION
    }
    $AdminConfig save
    Pour le lancer en ligne de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wsadmin -f create_server.jacl MaMachine MyServer
    Merci encore Billette

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passage de paramètres avec espaces
    Par rems033 dans le forum Langage
    Réponses: 2
    Dernier message: 13/03/2008, 15h19
  2. [PHP-JS] Passage de paramètre avec window.open
    Par AngieP dans le forum Langage
    Réponses: 1
    Dernier message: 18/01/2008, 09h57
  3. Passage de paramètres avec Redirect
    Par abir84 dans le forum Ruby on Rails
    Réponses: 4
    Dernier message: 24/09/2007, 10h51
  4. Passage de paramètres avec DLL Delphi
    Par GroovyBaby dans le forum C#
    Réponses: 2
    Dernier message: 08/03/2007, 14h51
  5. Passage de paramètre avec POST
    Par boulette85 dans le forum Langage
    Réponses: 4
    Dernier message: 28/02/2007, 20h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo