2010-12-06 10 views
10

私はWebアプリケーションの初期化とシャットダウンを実装しようとしています。これには初期化とシャットダウンが含まれます。java web-applicationの初期化とシャットダウン

  • Hibernate(v3.6);
  • C3P0(v0.9.1.2);
  • EHCache(v2.3.0);
  • 石英(1.8.4);
  • 私のwebappに固有のその他のタスク。

Tomcat 5.5.30とJava 6の使用私の考えは、リソースの漏れを避けることです。これは主に、開発環境でWebアプリケーションを再デプロイするためです。

どうすれば実装できますか?

答えて

19

通常、Web初期化とシャットダウンの場合、ServletContextListenerと書きます。

これを行うための手順は次のとおりです。

  1. javax.Servlet.ServletContextListener
  2. は、あなただけの
  3. アプリケーション
  4. を配備を作成したクラスを登録する web.xml配備記述子にタグを追加実装するクラスを書きます

アプリケーションをデプロイすると、contextInitializedメソッドが呼び出されます。ここで必要なすべての初期化を行うことができます。アプリケーションのシャットダウン時にcontextDestroyedメソッドが呼び出されます。

+2

これは完璧に動作します、ありがとう。 –

+2

完璧なソリューション、それはまさに私が自分のWebアプリケーションに求めていたものでした –

0

しかし、アプリケーションがクラッシュして通常のシャットダウンルーチンが呼び出されないとリークしないようにリソースを管理したいと考えています。

0

代わりにHTTPサーブレットを使用することもできますが、リスナーを使用する方が適切です。

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

クラスはinitとdestroyメソッドを上書きすることができます

あなたはHttpServletでクラスを拡張し、あなたのweb.xmlに以下のものを設定する必要があります。

関連する問題