Accéder au contenu principal Passer au contenu complémentaire

Détecter le système d'exploitation lors de l'exécution et configurer dynamiquement le chemin d'accès au fichier

Pour permettre au Job de s'exécuter dans différents systèmes d'exploitation, vous pouvez configurer le chemin d'accès au fichier à l'aide d'une variable de contexte, comme dans le Job d'exemple suivant.

Ce Job contient :

  • un composant tJava pour initialiser la variable de contexte et détecter le système d'exploitation,
  • un tFixedFlowInput pour générer les données,
  • un tFileOutputDelimited pour générer un fichier .txt.

Procédure

  1. Créez un Job nommé DetectOSTypeDemo et glissez un tJava de la Palette dans l'espace de modélisation graphique.
  2. Placez un tFixedFlowInput et un tFileOutputDelimited dans l'espace de modélisation graphique et reliez-les à l'aide d'un lien Row Main. Reliez le tJava au tFixedFlowInput à l'aide d'un lien Trigger > On Subjob Ok.
  3. Cliquez sur le tJava pour ouvrir sa vue Basic setttings, ajoutez le code suivant dans la zone Code afin d'initialiser la variable de contexte et détecter le sytsème d'exploitation :
    String os = System.getProperty("os.name").toLowerCase();  
    if(os.indexOf("win") >= 0){
    context.filePath="C:/temp/out.txt";
    }else { //Unix / Linux file path
    context.filePath="/var/temp/out.txt";
    }
  4. Cliquez sur le composant tFixedFlowInput pour ouvrir sa vue Basic settings.
  5. Cliquez sur le bouton Edit schema et ajoutez une colonne nommée name. Dans la zone Values, ajoutez la valeur "Hello world" afin de générer les données de sortie, comme ci-dessous :
  6. Dans la vue Context du composant, créez une variable de contexte (nommée filePath, de type String) pour configurer le chemin d'accès au fichier de sortie, comme dans l'image ci-dessous.
  7. Cliquez sur le tFixedFlowInput et configurez le nom du fichier avec la variable de contexte suivante context.filePath dans le champ File Name.
  8. Exécutez le Job. Si le Job est exécuté sur un système Windows, les données sont écrites dans le fichier "C:/temp/out.txt". Si le Job est exécuté sur un système Unix ou Linux, les données sont écrites dans le fichier "/var/temp/out.txt".

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !