アプリケーションを最初に動作させる時に、環境設定ファイルの読み込みやクラスのロードなどのために時間がかかることがあります。
コンテナの起動時にアプリケーションを一度動作させることで、このような初期化時間の影響を少なくすることができます。
Webアプリケーションの場合
Webアプリケーションでは、サーブレットのスタートアップを利用して、コンテナの起動時にアプリケーションを動作させます。
以下の手順で作成します。
UjiServletを継承して、スタートアップ用のサーブレットクラスを作成します。
initメソッドからUjiServletのinitApplicationメソッドを呼び出します。
サーブレットの記述例
public class MyServlet extends UjiServlet { public MyServlet() { } public void init() { try { ApplicationProfile ap = initApplication(); } catch(Exception e) { e.printStackTrace(); } } }
固有のアプリケーション初期化処理を記述する場合は、アプリケーションクラスを利用して記述します。
スタートアップ用のサーブレットをWebアプリケーション環境定義ファイル(web.xml)で指定します。
load-on-startupを指定することで、コンテナの起動時に呼び出されます。
web.xmlの記述例
<servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>somePackage.MyServlet</servlet-class> <load-on-startup/> </servlet>
関連項目
APIリファレンスのUjiServletクラス