管理コンソールから SIP アプリケーションのロード・プライオリティー (ウェイト) を設定できます。
モジュールが構成で要求を取り上げる順序は、初めにアプリケーションのウェイト、次にモジュールのウェイトで評価されます。
始動時のロード・プライオリティーの設定
sip.xml の <load-on-startup> は、 サーブレットが始動時に初期化される順序を定義します。 この値がゼロ未満の場合、マッチング・ルールと構成順序に従って、最初の要求がサーブレットに一致したときにそのサーブレットが初期化されます。 ゼロは、始動時の初期化順序に対する正当なウェイトです。 このタグが存在しない場合、またはこのタグに負の値が入っている場合は、 サーブレットは始動時には初期化されません。
また、web.xml 内のタグを手動で変更する場合は、 そのタグに <load-on-startup> を追加する必要もあります。 サーブレット (および siplet) をロードする WebContainer で、web.xml のみを調べます。SAR をデプロイする場合は、sip.xml のみを変更する必要があります。 web.xml は、デプロイメント後、正確に自動構成されます。
サーブレットの SIP デプロイメント記述子タグに埋め込まれている load-on-startup タグは、 アプリケーションがサーバーの始動時にロードされる順序を指示しています。 アプリケーションが、到着する新規メッセージを処理するルールに一致するアプリケーション構成チェーンのメンバーである場合に呼び出される順序を指示していません。 それは、管理コンソールで設定される始動順位です。
例:
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 で指定します。 以下の例は、スタンドアロン・サーバー用です。
例:
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>