14 Stimmen

Initialisierung und Herunterfahren einer Java-Webanwendung

Ich versuche, die Initialisierung und das Herunterfahren einer Webapp zu implementieren. Das beinhaltet die Initialisierung und das Herunterfahren von:

  • Hibernate (v3.6);
  • C3P0 (v0.9.1.2);
  • EHCache (v2.3.0);
  • Quarz (1.8.4);
  • Andere Aufgaben speziell für meine Webapp;

Ich verwende Tomcat 5.5.30 und Java 6. Meine Idee ist es, Ressourcenlecks zu vermeiden, vor allem wegen der Neuverteilung der Webapp in der Entwicklungsumgebung.

Wie soll ich das umsetzen?

21voto

Pablo Santa Cruz Punkte 169147

Für die Webinitialisierung und das Herunterfahren schreiben Sie normalerweise eine ServletContextListener .

Dies geschieht in folgenden Schritten:

  1. Schreiben Sie eine Klasse, die Folgendes implementiert javax.Servlet.ServletContextListener
  2. Hinzufügen eines Tags zu web.xml Bereitstellungsdeskriptor, um die soeben erstellte Klasse zu registrieren
  3. Einsatz Ihrer Anwendung

Wenn Sie Ihre Anwendung bereitstellen, contextInitialized Methode aufgerufen werden. Sie können hier alle gewünschten Initialisierungen vornehmen. Beim Herunterfahren der Anwendung contextDestroyed Methode aufgerufen werden.

1voto

ziodraw Punkte 190

Es ist auch möglich, stattdessen das HTTP-Servlet zu verwenden, aber der Listener ist eine bessere Option.

Sie müssen eine Klasse erweitern mit HttpServlet und fügen Sie die folgenden Angaben in Ihre web.xml ein:

<servlet>
    <servlet-name>StartupServlet</servlet-name>
    <servlet-class>your.package.servlets.StartupServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

Die Klasse kann die init- und die destroy-Methode überschreiben.

0voto

lalit Punkte 1487

Dennoch möchten Sie Ihre Ressourcen so verwalten, dass sie nicht auslaufen, wenn die Anwendung abstürzt und die normalen Shutdown-Routinen nicht aufgerufen werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X