Starten einer Java-Anwendung auf einer AS400 mit einem Shell-Skript
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:
- Öffnen Sie ein Terminal und starten FTP mit
ftp
. - Loggen Sie sich mit Ihrem Benutzernamen und Passwort ein.
- Navigieren Sie auf der AS/400 zu Ihrem
/home/ihruser
Verzeichnis mitcd /home/ihruser
. - Navigieren Sie auf Ihrem lokalen System in das Verzeichnis der Datei
startEnvPrinter.sh
mitlcd /ihrpfad
- Wählen Sie den Dateiübertragungstyp
ascii
- Übertragen Sie das sh-File mit dem Befehl
put startEnvPrinter.sh
.
Das Skript startEnvPrinter.sh
sollte 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.
Start Shell-Skript in RPG-Programm →