Tomcat の 開始 / 停止イベントを拾うには
* まだ試してないけど、以下の案を考えてみた。
■案1:ServletContextListenerリスナー
* ServletContextListener のcontextInitialized() (開始) / contextDestroyed() (停止)を実装する
参考文献
http://ziddy.japan.zdnet.com/qa3871479.html?order=DESC&by=datetime■案2:scopeで「application」を指定する
[1] services.xml のscopeを「application」にする [2] org.apache.axis2.service.Lifecycle のinit() (開始) / destroy() (停止)を実装するhttp://axis.apache.org/axis2/java/core/api/org/apache/axis2/service/Lifecycle.html
services.xml
<service name="【Webサービス名】" scope="application"> <!-- 略 --> </service>
参考文献
http://ogawa.s18.xrea.com/tdiary/20081210.html補足 : Webサービスにおけるスコープ
services.xml
<service name="【Webサービス名】" scope="【スコープ(request/transportsession/soapession/application)】"> <!-- 略 --> </service>
スコープ種類
request(デフォルト)* 1回の処理要求ごとにWebサービスクラスをインスタンス化するtransportsession
* 処理要求するクライアントスタブのインスタンス毎にWebサービスクラスをインスタンス化する * 異なるWebサービス間での情報の共有が可能soapsession
* 異なるサービスグループ間での情報の共有は不可application★
* Webサーバ(Tomcat等)始動後、処理要求時にWebサービスクラスをインスタンス化する。 * Webサーバが停止しない限り、内部の情報を永続的に持ち続ける。
参考文献
http://axis.apache.org/axis2/java/core/docs/axis2config.html#Service_Configurationhttp://space.geocities.jp/nequomame/java/webservice/webservice_93_01.html