Angepasste Services erstellen
Sie können für einen Anwendungsserver ein oder mehrere angepasste Services erstellen. Jeder angepasste Service definiert eine Klasse, die bei jedem Start und Herunterfahren des Servers geladen und initialisiert wird. Jede dieser Klassen muss die Schnittstelle "com.ibm.websphere.runtime.CustomService" implementieren. Nachdem Sie einen angepassten Service erstellt haben, konfigurieren Sie diesen mithilfe der Administrationskonsole für Ihre Anwendungsserver.
Informationen zu diesem Vorgang
Angepasste Services werden nicht in Controllern, sondern in Servants ausgeführt.
Da während des Lebenszyklus eines Servers mehrere Servants gestartet werden können
und dies je nach Bedarf von WLM auch erhebliche Zeit nach dem Server (Controller),
wird ein angepasster Service beim Start jedes Servants ausgeführt.
Wenn Sie einen Anbindungspunkt definieren möchten, der beim Starten und Herunterfahren eines Servers ausgeführt wird, müssen Sie
eine angepasste Serviceklasse erstellen und in der Administrationskonsole
eine Instanz des angepassten Service konfigurieren. Wenn der Anwendungsserver
gestartet wird, wird auch der angepasste Service gestartet und initialisiert.
Wenn Sie eine Routine
definieren möchten, die beim Starten und Herunterfahren eines Servers oder
Node Agent ausgeführt wird, müssen Sie
eine angepasste Serviceklasse entwickeln und
eine Instanz des angepassten Service konfigurieren. Wenn der Anwendungsserver oder Node Agent
gestartet wird, wird auch der angepasste Service gestartet und initialisiert.
- Die Methoden initialize und shutdown müssen die Steuerung an die Laufzeit zurückgeben.
- Der Serverinstanz wird erst dann Arbeit zugeteilt, wenn alle Initialisierungsmethoden des Service zurückgekehrt sind.
- Die Methoden initialize und shutdown werden nur einmal in jedem Service und einmal für jeden der Betriebssystemprozesse aufgerufen, aus denen sich die Serverinstanz zusammensetzt.
- Die Initialisierung statischer Daten auf Verarbeitungsebene ohne Verlassen des Prozesses selbst wird unterstützt.
- Es werden nur JDBC-RMLT-Operationen (Resource Manager Local Transaction) unterstützt. Alle Arbeitseinheiten (UOW, Unit of Work) müssen abgeschlossen sein, damit die Methoden zurückkehren können.
- Das Erstellen von Threads wird nicht unterstützt.
- Das Erstellen von Sockets und anderen E/As als Datei-E/As wird nicht unterstützt.
- Die Ausführung von Java™ EE-Standardcode (Java Platform, Enterprise Edition), z. B. Client-Code, Servlets und Enterprise-Beans, wird nicht unterstützt.
- Die JTA-Schnittstelle (Java Transaction API) ist nicht verfügbar.
- Dieses Feature ist nur in Java EE-Serverprozessen und verteilten generischen Serverprozessen verfügbar.
- Obwohl zur Laufzeit versucht wird, die Methode shutdown aufzurufen, ist nicht gewährleistet, dass die Methode shutdown vor Beendigung des Prozesses aufgerufen wird.
- JNDI-Operationen, die Ressourcen anfordern, werden nicht unterstützt.
Vorgehensweise
Ergebnisse
Bei jedem Start
des Servers oder Node Agent
wird auch der angepasste Service geladen und initialisiert.
Bei jedem Starten und Herunterfahren
des Servers
wird auch der angepasste Service gestartet und beendet.
Beispiel
public class ServerInit implements com.ibm.websphere.runtime.CustomService
{
/**
* Die Methode initialize wird beim Start des Servers von der Laufzeit des
* Anwendungsservers aufgerufen. Das Properties-Objekt, dass der Anwendungsserver
* an diese Methode übergibt, muss alle erforderlichen Konfigurationsdaten enthalten,
* die dieser Service zur ordnungsgemäßen Initialisierung benötigt.
*
* @param configProperties java.util.Properties
*/
static final java.lang.String externalConfigURLKey =
"com.ibm.websphere.runtime.CustomService.externalConfigURLKey";
static String ConfigFileName="";
public void initialize(java.util.Properties configProperties) throws Exception
{
if (configProperties.getProperty(externalConfigURLKey) != null)
{
ConfigFileName = configProperties.getProperty(externalConfigURLKey);
}
//Rest der Initialisierungsmethode implementieren
}
/**
* Die Methode shutdown wird von der Laufzeit des Anwendungsservers aufgerufen,
* wenn der Server mit dem Herunterfahren beginnt.
*
public void shutdown() throws Exception
{
//Methode shutdown implementieren
}
Nächste Schritte
Überprüfen Sie den
Anwendungsserver oder Node Agent, um sicherzugehen, dass die Methoden initialize und shutdown
des angepassten Service wie geplant funktionieren.
Überprüfen Sie den
Anwendungsserver, um sicherzugehen, dass die Methoden initialize und shutdown
des angepassten Service wie geplant funktionieren.