【Axis2】Axis2 で、Tomcat の 開始 / 停止イベントを拾うには

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_Configuration
http://space.geocities.jp/nequomame/java/webservice/webservice_93_01.html

関連記事

リスナー ~ Listener ~

http://blogs.yahoo.co.jp/dk521123/33573219.html

Axis2のライフサイクル (Lifecycle/ServiceLifeCycle) ~サービス編~

http://blogs.yahoo.co.jp/dk521123/32684510.html