SIP アプリケーション構成の設定

SIP アプリケーションの JSR 116 標準の 2.4 節には、同じ SIP 要求に対して複数のアプリケーションを起動できることが示されています。 この標準に準拠するようにアプリケーションを設定するプロセスは、アプリケーション構成と呼ばれています。

このタスクについて

アプリケーション構成では、 実装にカスケード・サービス・モデルを使用することが要求されます。カスケード・サービス・モデルでは、 トリガーが異なるホストで発生しているかのように、 同じホストでトリガーされるサービス・アプリケーションが順にトリガーされることが要求されます。したがって、応答は逆流し、 対応する要求の逆順にアプリケーションがヒットします。

JSR 116 標準は、 アプリケーション構成を実装する方法を指定していませんが、この標準に準拠する方法は多数あります。 WebSphere® Application Server の場合、アプリケーションの構成は、アプリケーションのデプロイされた順番、および各アプリケーションのデプロイメント記述子内のマッピング・ルールの順番によって異なります。
  • SIP コンテナーは、最初の着信要求に対して、可能性のあるルールを順番に試行します。 コンテナーは、n 番目の一致を見つけると、対応するサーブレットを起動します。

  • サーブレットで要求のプロキシーが必要な場合、コンテナーは再度ルールをスキャンし、別の一致を探します。 コンテナーは、(n+1) 番目の一致が見つかると、対応するサーブレットを起動します。

  • 前に起動されたサーブレットと同じアプリケーションのすべてのサーブレットは、マッチング・プロセスから除外されます。同じ SIP 要求に対してサーブレットが 2 回起動されることはありません。

load-on-startup 優先順位指定できます。 sip.xml<load-on-startup> では、 サーブレットが始動時に初期化される順序を定義しています。 この値がゼロ未満の場合、マッチング・ルールと構成順序に従って、最初の要求がサーブレットに一致したときにそのサーブレットが初期化されます。 ゼロは、始動時の初期化順序に対する正当なウェイトです。 このタグが存在しない場合、またはこのタグに負の値が入っている場合は、 サーブレットは始動時には初期化されません。

また、web.xml の同じタグを手動で変更する場合は、 それに <load-on-startup> を追加する必要があります。 サーブレット (および siplet) をロードする WebContainer で、web.xml のみを調べます。SAR をデプロイする場合は、sip.xml のみを変更する必要があります。 web.xml は、デプロイメント後、正確に自動構成されます。

サーブレットの SIP デプロイメント記述子タグに埋め込まれている load-on-startup タグは、 アプリケーションがサーバーの始動時にロードされる順序を指示しています。 アプリケーションが、到着する新規メッセージを処理するルールに一致するアプリケーション構成チェーンのメンバーである場合に呼び出される順序を指示していません。

アプリケーションおよびそのモジュールの開始ウェイトは、deployment.xml ファイルで指定します。 モジュールが構成で要求を取り上げる順序は、初めにアプリケーションのウェイト、次にモジュールのウェイトで評価されます。 以下の手順を任意の順序で実行して、管理コンソールからアプリケーションのウェイトまたはモジュールのウェイトを指定することができます。

手順

  1. アプリケーション (EAR) のウェイトを指定するには、 「エンタープライズ・アプリケーション」 > applicationName > 「始動の動作」と展開して、 始動順序を設定します。
  2. モジュール (WAR) のウェイトを指定するには、「エンタープライズ・アプリケーション」 > applicationName > 「モジュールの管理」と展開し、開始ウェイトを設定します。
  3. 変更されたアプリケーションを再始動します。

始動時のロード優先順位の設定例:
sip.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sip-app
PUBLIC "-//Java Community Process//DTD SIP Application 1.0//EN"
"http://www.jcp.org/dtd/sip-app_1_0.dtd">
<sip-app>
		<display-name>SIPSampleProxy</display-name>
	
	<servlet>
				<servlet-name>SIPSampleProxy</servlet-name>
				<servlet-class>sipes.test.container.proxy.SIPSampleProxy</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
				<servlet-name>SIPSampleProxy</servlet-name>
		<pattern>
			<equal>
								<var>request.uri.user</var>
								<value>SIPSampleProxy</value>
			</equal>
		</pattern>
	</servlet-mapping>
	
		<proxy-config>
				<sequential-search-timeout>1000</sequential-search-timeout>
		</proxy-config>
		<session-config>
				<session-timeout>12</session-timeout>
		</session-config>
</sip-app>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp">
		<display-name>SIPSampleProxy</display-name>
	<servlet>
				<servlet-name>SIPSampleProxy</servlet-name>
			<display-name>SIPSampleProxy</display-name>
				<servlet-class>sipes.test.container.proxy.SIPSampleProxy</servlet-class>
	</servlet>
	<servlet-mapping>
				<servlet-name>SIPSampleProxy</servlet-name>
				<url-pattern>/SIPSampleProxy</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
</web-app>
開始ウェイトの指定例:

以下の例は、スタンドアロン・サーバー用です。

deployment.xml

<?xml version="1.0" encoding="UTF-8" ?> 
- <appdeployment:Deployment xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
xmlns:appdeployment="http://www.ibm.com/websphere/appserver/schemas/5.0/appdeployment.xmi"
xmi:id="Deployment_1137951186883">
- <deployedObject xmi:type="appdeployment:ApplicationDeployment" xmi:id="ApplicationDeployment_1137951186883" 
deploymentId="0" startingWeight="1" binariesURL="$(APP_INSTALL_ROOT)/OrangeNode08Cell/SipContainerTestSuite.ear" 
useMetadataFromBinaries="false" enableDistribution="true" createMBeansForResources="true" reloadEnabled="false" 
appContextIDForSecurity="href:OrangeNode08Cell/SipContainerTestSuite" 
filePermission=".*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755" allowDispatchRemoteInclude="false" 
allowServiceRemoteInclude="false">
  <targetMappings xmi:id="DeploymentTargetMapping_1137951186883" enable="true" target="ServerTarget_1137951186883" /> 
  <classloader xmi:id="Classloader_1137951186883" mode="PARENT_FIRST" /> 
- <modules xmi:type="appdeployment:WebModuleDeployment" xmi:id="WebModuleDeployment_1137951186883" 
deploymentId="1" startingWeight="10000" uri="sipunit.war">
  <targetMappings xmi:id="DeploymentTargetMapping_1137951186884" target="ServerTarget_1137951186883" /> 
  <classloader xmi:id="Classloader_1137951186884" /> </modules>
  <properties xmi:id="Property_1137951186883" name="validateinstall" value="warn" /> </deployedObject>
  <deploymentTargets xmi:type="appdeployment:ServerTarget" xmi:id="ServerTarget_1137951186883"
name="server1" nodeName="OrangeNode10" /> </appdeployment:Deployment>

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsip_appchain
ファイル名:tsip_appchain.html