org.seasar.remoting.axis.deployer
クラス AxisDeployer

java.lang.Object
  拡張org.seasar.remoting.axis.deployer.AxisDeployer
すべての実装インタフェース:
org.seasar.remoting.common.deployer.Deployer

public class AxisDeployer
extends java.lang.Object
implements org.seasar.remoting.common.deployer.Deployer

diconファイル中に記述されたコンポーネントをAxisにデプロイします。

作成者:
koichik

フィールドの概要
protected  org.seasar.framework.container.S2Container container
           
protected  ItemDeployer handlerDeployer
           
protected  ItemDeployer serviceDeployer
           
protected  javax.servlet.ServletContext servletContext
           
protected  ItemDeployer wsddDeployer
           
 
コンストラクタの概要
AxisDeployer()
           
 
メソッドの概要
 void deploy()
          コンテナに登録されているサービスやハンドラをデプロイします。
protected  void forEach(org.seasar.framework.container.S2Container container)
          コンテナの階層をたどって全てのコンテナとコンポーネント定義を走査します。
protected  org.apache.axis.deployment.wsdd.WSDDDeployment getDeployment(org.seasar.framework.container.S2Container container)
          WSDDデプロイメントを返します。
protected  org.apache.axis.AxisEngine getEngine(org.seasar.framework.container.S2Container container)
          Axisエンジンを返します。
protected  void process(org.seasar.framework.container.ComponentDef componentDef)
          コンポーネント定義にS2Axisのメタデータ <meta name="s2axis:service"> または <meta name="s2axis:handler"> が指定されていれば、そのコンポーネントをサービスまたはハンドラとしてAxisにデプロイします。
protected  void process(org.seasar.framework.container.S2Container container)
          S2コンテナにS2Axisのメタデータ <meta name="s2axis:deploy"> が指定されていれば、そのWSDDをAxisにデプロイします。
 void setContainer(org.seasar.framework.container.S2Container container)
          S2コンテナを設定します。
 void setServletContext(javax.servlet.ServletContext servletContext)
          サーブレットコンテキストを設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

container

protected org.seasar.framework.container.S2Container container

servletContext

protected javax.servlet.ServletContext servletContext

serviceDeployer

protected ItemDeployer serviceDeployer

handlerDeployer

protected ItemDeployer handlerDeployer

wsddDeployer

protected ItemDeployer wsddDeployer
コンストラクタの詳細

AxisDeployer

public AxisDeployer()
メソッドの詳細

setContainer

public void setContainer(org.seasar.framework.container.S2Container container)
S2コンテナを設定します。

パラメータ:
container - S2コンテナ

setServletContext

public void setServletContext(javax.servlet.ServletContext servletContext)
サーブレットコンテキストを設定します。

パラメータ:
servletContext - サーブレットコンテキスト

deploy

public void deploy()
コンテナに登録されているサービスやハンドラをデプロイします。

定義:
インタフェース org.seasar.remoting.common.deployer.Deployer 内の deploy

forEach

protected void forEach(org.seasar.framework.container.S2Container container)
コンテナの階層をたどって全てのコンテナとコンポーネント定義を走査します。
走査する順序は次の通りです。
  1. コンテナ自身
  2. 子のコンポーネント定義
  3. 子のコンテナを再起的に

パラメータ:
container - 起点となるコンテナ

process

protected void process(org.seasar.framework.container.S2Container container)
S2コンテナにS2Axisのメタデータ <meta name="s2axis:deploy"> が指定されていれば、そのWSDDをAxisにデプロイします。

パラメータ:
container - S2コンテナ

process

protected void process(org.seasar.framework.container.ComponentDef componentDef)
コンポーネント定義にS2Axisのメタデータ <meta name="s2axis:service"> または <meta name="s2axis:handler"> が指定されていれば、そのコンポーネントをサービスまたはハンドラとしてAxisにデプロイします。

パラメータ:
componentDef - コンポーネント定義

getDeployment

protected org.apache.axis.deployment.wsdd.WSDDDeployment getDeployment(org.seasar.framework.container.S2Container container)
WSDDデプロイメントを返します。

パラメータ:
container - コンテナ
戻り値:
WSDDデプロイメント

getEngine

protected org.apache.axis.AxisEngine getEngine(org.seasar.framework.container.S2Container container)
Axisエンジンを返します。
Axisエンジンは、コンテナに名前 s2-axis:engine を持つ <meta> 要素が指定されていれば、その内容文字列から次のように決定されます。
未定義の場合
"default" が指定されたものとしてAxisエンジンを決定します。
"default"
コンテナにサーブレットコンテキストが設定されていれば "default-server" 、そうでなければ "default-client" が指定されたものとしてAxisエンジンを決定します。
"default-client"
コンテナから javax.xml.rpc.Service を実装したコンポーネントを取得し、そのエンジンを使用します。
"default-server"
サーブレットコンテキストに設定されているAxisエンジンを使用します。
最初に S2AxisConstants.AXIS_SERVLETS2AxisConstants.ATTR_AXIS_ENGINEを連結した文字列をキーとして サーブレットコンテキストからAxisエンジンを取得します。
見つからなかった場合は{S2AxisConstants#ATTR_AXIS_ENGINE}を キーとしてサーブレットコンテキストから取得したAxisエンジンを取得します。
"servlet:" で始まる文字列
"servlet:" の後ろの文字列をキーとしてサーブレットコンテキストから 取得したAxisエンジンを使用します。
"s2:" で始まる文字列
"s2:" の後ろの文字列をキーとしてS2コンテナから 取得したコンポーネントをAxisエンジンを使用します。
その他
キーとしてS2コンテナから取得したコンポーネントをAxisエンジンとして使用します。

パラメータ:
container - コンテナ
戻り値:
Axisエンジン


Copyright © 2004-2005 The Seasar Project. All Rights Reserved.