バッチアプリケーショングループ単位の配備記述ファイルです。
ファイルフォーマットは Spring の bean 定義ファイルであり、GroupDeploymentDescription型を持つ batchapgroupDD という識別子が付与された bean を配備記述設定として使用します。
バッチアプリケーショングループ配備記述ファイルおよび各バッチアプリケーション配備記述ファイルは省略可能です。省略時は各配備記述の全項目が既定値に設定されていると解釈し配置および有効化動作を行います。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="batchapgroupDD" class="com.nec.webotx.batch.core.applicationmanagement.GroupDeploymentDescriptionFactoryBean">
<property name="applicationFolders" value="app1,app2,testapp"/>
<property name="classLoaderProps">
<props>
<prop key="delegate">false</prop>
</props>
</property>
<property name="stickyRequestPathPatternList">
<list>
<value>user1/sampleGroup/sampleApp1/*</value>
<value>user2/sampleGroup/*/*</value>
</list>
</property>
<property name="stickyTrigger">
<list>
<value>onDemand</value>
<value>jobExecuting</value>
</list>
</property>
</bean>
</beans>
バッチアプリケーショングループに含むバッチアプリケーション名を指定します。
未指定の場合は、バッチアプリケーショングループアーカイブの最上位フォルダ直下の lib, classes という名前のサブフォルダを除いて、全てバッチアプリケーションとして検索します。(※ V8.3互換の動作)
バッチアプリケーショングループアーカイブの最上位フォルダ直下に存在するフォルダ名のリスト。
複数指定する場合には、区切り文字に「,」を使用します。
バッチアプリケーションとしてapp1, app2, testappを設定する例
<beans>
<bean id="batchapgroupDD">
<property name="applicationFolders" value="app1,app2,testapp"/>
</bean>
</beans>
バッチアプリケーションアーカイブに含めている配備記述ファイルを更新し、設定を反映させる為には、バッチアプリケーションアーカイブの再配備を行う必要があります。
${DOMAIN_HOME}/container/<コンテナ名>/直下に配置している配備記述ファイルを更新し、設定を反映させる為には、バッチコンテナの再起動を行う必要があります。
通常は指定する必要はありません。
特に、コンテナ単位のバッチアプリケーショングループ配備記述ファイル(${DOMAIN_HOME}/container/<コンテナ名>/wobs-batchapgroup.xml)中では、本設定は設定するべきではありません。
クラスローダに関する設定を行うノードです。
Properties型で下表のパラメータを設定することができます。
| キー | 説明 | 既定値 | 設定可能値/範囲 | 決定基準/導出式 |
|---|---|---|---|---|
| delegate | アプリケーショングループクラスローダのクラス検索において、親クラスローダを優先検索するか否かを指定します。未指定の場合は既定値 false が設定されます。
|
false | true | false | 親クラスローダを優先させる場合に、trueを指定します。 |
親クラスローダを優先検索する例
<beans>
<bean id="batchapgroupDD">
<property name="classLoaderProps">
<props>
<prop key="delegate">true</prop>
</props>
</property>
</bean>
</beans>
バッチアプリケーションアーカイブに含めている配備記述ファイルを更新し、設定を反映させる為には、バッチアプリケーションアーカイブの再配備を行う必要があります。
${DOMAIN_HOME}/container/<コンテナ名>/直下に配置している配備記述ファイルを更新し、設定を反映させる為には、バッチコンテナの再起動を行う必要があります。
バッチアプリケーションの ApplicationContext を固定化するジョブリクエストパスパターンのリストを指定します。
固定化した ApplicationContext の生成単位は、バッチアプリケーションです。
ジョブリクエストパスパターンのジョブ名を指定した場合、指定したパターンにマッチするジョブの実行時には、固定化された ApplicationContext が使用されます。パターンにマッチしないジョブの実行時には、固定化された ApplicationContext は使用されません。
固定化処理はバッチアプリケーション、ジョブ実行リソースコンテキスト毎に順に実行されます。その為、バッチアプリケーショングループ当たりのバッチアプリケーション数、stickyRequestPathPatternListにマッチするジョブ実行リソースコンテキストの登録数に応じて、処理時間が増加します。
user1 が sampleGroup/sampleApp1 に定義されているジョブを実行する場合は、固定化された ApplicationContext を利用する
user2 は sampleGroup 内のすべてのジョブの実行に固定化された ApplicationContext を利用する
<beans>
<bean id="batchapgroupDD">
<property name="stickyRequestPathPatternList">
<list>
<value>user1/sampleGroup/sampleApp1/*</value>
<value>user2/sampleGroup/*/*</value>
</list>
</property>
</bean>
</beans>
バッチアプリケーションアーカイブに含めている配備記述ファイルを更新し、設定を反映させる為には、バッチアプリケーションアーカイブの再配備を行う必要があります。
${DOMAIN_HOME}/container/<コンテナ名>/直下に配置している配備記述ファイルを更新し、設定を反映させる為には、バッチコンテナの再起動を行う必要があります。
通常は指定する必要はありません。
本設定によってバッチアプリケーションの ApplicationContext を固定化することで、ApplicationContext の生成と初期化処理に時間がかかる構成のバッチアプリケーションについてジョブリクエスト到着後ジョブが実行開始するまでの時間を短縮することができる場合があります。
既定値では、ジョブ実行リクエストごとにバッチアプリケーションの ApplicationContext を生成したうえでジョブを実行し、実行終了後に破棄することにより、ジョブ実行リクエスト間におけるオブジェクト空間の分離を行っています。本設定を行う為には、ジョブ実行リクエスト間でのオブジェクト空間の分離の要件が緩和可能なバッチアプリケーショングループである必要があります。
バッチアプリケーションの ApplicationContext を固定化するタイミングのセットを指定します。
stickyRequestPathPatternList に指定したジョブリプエストパスパターンにマッチするバッチアプリケーションのみが固定化の対象です。
固定化タイミングは、複数を組み合わせて指定することが可能です。
※ 本設定は、remove-bs-batchap-stickycontextsコマンドの挙動に、影響しません。
| 設定値 | 説明 |
|---|---|
| enabling | バッチアプリケーショングループの有効化時に、ApplicationContext を固定化します。 (既定値) |
| onDemand | create-bs-batchap-stickycontextsコマンド実行時に、ApplicationContext を固定化します。 |
| jobExecuting | ジョブ実行時に固定化されたApplicationContextが存在しない場合に、ApplicationContext を固定化します。 |
ApplicationContextの固定化を、create-bs-batchap-stickycontextsコマンド実行時、または、ジョブ実行時に行う場合
<beans>
<bean id="batchapgroupDD">
<!-- snip -->
<property name="stickyRequestPathPatternList">
<list>
<value>user1/sampleGroup/sampleApp1/*</value>
<value>user2/sampleGroup/*/*</value>
</list>
</property>
<property name="stickyTrigger">
<set>
<value>onDemand</value>
<value>jobExecuting</value>
</set>
</property>
</bean>
</beans>
バッチアプリケーションアーカイブに含めている配備記述ファイルを更新し、設定を反映させる為には、バッチアプリケーションアーカイブの再配備を行う必要があります。
${DOMAIN_HOME}/container/<コンテナ名>/直下に配置している配備記述ファイルを更新し、設定を反映させる為には、バッチコンテナの再起動を行う必要があります。
設定可能値/範囲 を参照し、適切な固定化タイミングを指定します。