Starten einer Java-Anwendung auf einer AS400 mit einem Shell-Skript

© phonlamaiphoto – stock.adobe.com

Einleitung

Nachdem wir im letzten Post darüber gesprochen haben, wie man eine Java-Anwendung auf eine AS400 übertragen und von der QShell aus starten kann, schauen wir uns heute ein Shell-Skript an, das als „Mittler“ zwischen dem Java-Programm und einem „Aufrufer“, z.B in einem RPG-Programm oder Job-Scheduler verwendet werden kann.

Das Skript im Detail

Das Skript ist simpel, erfüllt aber eine wichtige Rolle:

  • Der erste Teil des Skripts überprüft, ob Java installiert ist
  • Der zweite Teil führt die Java-Anwendung aus und gibt alle Argumente ($@), die an das Skript übergeben wurden, an die Java-Anwendung weiter
  • Sie können das Skript in einen Editor kopieren und z.B unter dem Namen startEnvPrinter.sh speichern..

Bitte beachten Sie, dass die Pfade entsprechend Ihres Systems angepasst werden müssen. ihruser ist nur ein Platzhalter.

#!/bin/sh

# Überprüfen, ob die Java-Umgebung vorhanden ist
if [ -z "$(which java)" ]; then
  echo "Java ist nicht installiert oder der Pfad zu Java ist nicht gesetzt."
  exit 1
fi

# Starten das Java-Programm $@ überträgt alle Argumente, die an das Skript gegeben wurden, an das Java-Programm.
java -jar /home/ihruser/EnvVariablesPrinter.jar $@

ÜBERTRAGUNG AUF IBM I

Jetzt, da wir ein .sh-File haben, können wir es auf unseren IBM i Server übertragen. Eine einfache Möglichkeit ist die Verwendung von FTP:

  1. Öffnen Sie ein Terminal und starten FTP mit ftp .
  2. Loggen Sie sich mit Ihrem Benutzernamen und Passwort ein.
  3. Navigieren Sie auf der AS/400 zu Ihrem /home/ihruser Verzeichnis mit cd /home/ihruser .
  4. Navigieren Sie auf Ihrem lokalen System in das Verzeichnis der Datei  startEnvPrinter.sh mit lcd /ihrpfad
  5. Wählen Sie den Dateiübertragungstyp ascii
  6. Übertragen Sie das sh-File mit dem Befehl put startEnvPrinter.sh.

Das Skript startEnvPrinter.shsollte sich jetzt  sich in /home/ihruser/ auf der IBM i im IFS befinden.

Beispielaufrufe

Vorausgesetzt, das Skript .sh und die .jar Datei liegen korrekt vor – dann können Sie die Java-Anwendung wie folgt starten:

Alle Env.-Variablen und Werte ausgeben:

/home/ihruser/startEnvPrinter.sh

Werte für ausgewählte Env.-Variablen ausgeben, z.B. LOCPATH und PASE_LANG

/home/ihruser/startEnvPrinter.sh LOCPATH PASE_LANG

Fazit

Mit diesem einfachen Shell-Skript können wir sicherstellen, dass unsere Java-Anwendung korrekt in unserer AS400-Umgebung ausgeführt wird. Es dient als Mittler zwischen dem RPG-Programm und der Java-Anwendung und fügt eine zusätzliche Überprüfungsschicht hinzu.

GITHUB

Beispiele stehen im Repo RPG4J on GitHub zum Download zur Verfügung.