World Map
Java Service Wrapper is the easiest way to make your product more reliable.
  • Free Trial
  • Buy Now
Integrationsmethoden

Java Service Wrapper Integration - Methoden

Zur Zeit existieren vier verschiedene Integrationsmöglichkeiten mit dem Java Service Wrapper. Drei der Methoden benötigen keine zusätzliche Programmierung.

In einem ersten Schritt gilt es, zu entscheiden, welche der folgenden vier Methoden fE Ihre Applikation am besten geeignet ist. Nach einem kurzen Überblick Eer jede der genannten Optionen folgt eine detaillierte Beschreibung, wie eine Applikation unter Verwendung einer der Methoden zu integrieren ist.

Methode 1

Methode 1 verwendet die Hilfsklasse WrapperSimpleApp um eine Applikation zu starten. Dies ist bei weitem die einfachste und bei Verwendungsmöglichkeit auch empfohlene Integrationsmethode.

Es gibt jedoch einige Punkte, die bei Anwendung dieser Methode, zu beachten sind (Hinweis: Java-Version). Es gibt keinen direkten Aufruf an eine Applikation sich ordnungsgemäß zu beenden, wenn der Wrapper die JVM herunterfährt. Der Wrapper fährt die JVM durch den Aufruf (innerhalb der JVM) von System.exit() herunter. Hat eine Applikation einen eigenen Shutdown-Hook registriert, so wird dieser aufgerufen und bietet somit der Applikation eine Möglichkeit sich ordnungsgemäß zu beenden. Ist kein Shutdown-Hook registriert, so wird die Applikation sofort beendet, gleichsam der Verwendung von STRG-C in einem Konsolen-Fenster. In beiden Fällen, mit oder ohne Shutdown-Hook, verhält sich die Applikation gleich einer AusfErung ohne Wrapper.

Detaillierte Übersicht und Anweisungen am Beispiel JBoss (Windows oder Linux / Unix).

Methode 2

Methode 2 verwendet die Hilfsklasse WrapperStartStopApp. Diese Methode bietet die Möglichkeit zur Integration mit Applikationen (z.B. Tomcat), die mittels einer Klasse gestartet ("Start"-Klasse) und mittels einer anderen Klasse gestoppt ("Stop"-Klasse) werden.

Typischerweise öffnet diese Art von Applikation beim Aufruf einen Server-Socket, der auf eine Verbindung wartet, die das Beenden auslöst. Durch Herstellung einer Verbindung zur Applikation löst die "Stop"-Klasse schließlich das Beenden der Applikation aus.

Der Wrapper startet Applikationen dieser Art unter Verwendung einer "Start"-Klasse gleich wie in Methode 1 und ruft im Fall des Beendens der Applikation die main-Methode der "Stop"-Klasse auf.

Detaillierte Übersicht und Anweisungen am Beispiel Tomcat (Windows oder Linux / Unix).

Methode 3

Methode 3 bietet Zugriff auf alle Wrapper-Funktionen und damit die größte Flexibilität. Es ist auch die einzige Methode die zusätzliche Programmierschritte benötigt um eine vollständige Integration zu gewährleisten. Diese Methode beinhaltet die Erstellung einer Klasse, welche die Schnittstelle WrapperListener implementiert. Eine Instanz dieser Klasse wird danach instanziert und mit dem WrapperManager registriert.

Methode 3 bietet Funktionen, welche bei Anwendung der ersten beiden Methoden nicht verfEbar sind (sowohl WrapperSimpleApp als auch WrapperStartStopApp) und fEt dem Programmcode einiges an Komplexität hinzu. Es ist jedoch die einzige Methode die es Benutzer erstelltem Code erlaubt System-Control-Events zu empfangen und direkt darauf zu reagieren, sowie den Start-Up und Shut-Down Prozess zu kontrollieren.

Sollten diese zusätzlichen Funktionen nicht benötigt werden, wird Methode 1 (WrapperSimpleApp) unter Verwendung eines Shutdown-Hooks, oder die Verwendung einer "Stop"-Klasse empfohlen. Die main-Methode einer solchen "Stop"-Klasse kann hierbei so einfach gehalten werden wie der Aufruf einer Methode zum Beenden innerhalb der Applikation.

In den meisten Anwendungsfällen sind diese zusätzlichen Kontrollmöglichkeiten nicht nötig, da die Hilfsklassen von Methode 1 (WrapperSimpleApp) und Methode 2 (WrapperStartStopApp) die Aufgabe des Startens und Beendens der Applikation zur passenden Zeit Eernehmen.

Detaillierte Übersicht und Anweisungen (plattformunabhängig).

Methode 4

Die vierte und letzte Methode verwendet die Hilfsklasse WrapperJarApp um eine Applikation zu starten. Sie bietet eine einfache Möglichkeit um eine Applikation, die bereits als ausfErbare JAR-Datei konfiguriert ist, mit dem Wrapper zu integrieren.

Es gibt jedoch einige Punkte, die bei Anwendung dieser Methode, zu beachten sind (Hinweis: Java-Version). Es gibt keinen direkten Aufruf an eine Applikation sich ordnungsgemäß zu beenden, wenn der Wrapper die JVM herunterfährt. Der Wrapper fährt die JVM durch den Aufruf (innerhalb der JVM) von System.exit() herunter. Hat eine Applikation einen eigenen Shutdown-Hook registriert, so wird dieser aufgerufen und bietet somit der Applikation eine Möglichkeit sich ordnungsgemäß zu beenden. Ist kein Shutdown-Hook registriert, so wird die Applikation sofort beendet, gleichsam der Verwendung von STRG-C in einem Konsolen-Fenster. In beiden Fällen, mit oder ohne Shutdown-Hook, verhält sich die Applikation gleich einer AusfErung ohne Wrapper.

Detaillierte Übersicht und Anweisungen am Beispiel Hudson (Windows oder Linux / Unix).

NOTE

FE Benutzer der Java-Version 1.3.0 :

Shutdown-Hooks wurden mit Java-Version 1.3 eingefErt. Eine Applikation wird mit Hilfe von Shutdown-Hooks unter Verwendung von Methode 1 (WrapperSimpleApp) oder Methode 4 (WrapperJarApp) ordnungsgemäß beendet.

FE Benutzer der Java-Version 1.2.x :

Der Wrapper kann mit Java-Versionen 1.2.x verwendet werden. Jedoch werden einige Funktionen deaktiviert, da diese Java-Versionen keine UnterstEzung fE Shutdown-Hooks bieten. Methode 1 (WrapperSimpleApp) und Methode 4 (WrapperJarApp) können mit Java-Versionen 1.2.x verwendet werden. Applikation werden in diesem Fall jedoch nicht ordnungsgemäß beendet. Diese beiden Methoden sind auf den Shutdown-Hook einer Applikation angewiesen, der alle nötigen Schritte ausfErt, bevor die JVM beendet wird. Um ein ordnungsgemäßes Beenden der Applikation zu garantieren muss entweder Methode 2 (WrapperStartStopApp) oder Methode 3 (WrapperListener) angewendet werden, da diese direkte CodeausfErung erlauben.