無限ループの検出プロパティー

サービスおよびプロセス・インスタンスで無限ループを検出して処理するために使用できる、一連のループ検出プロパティーがあります。

99Local.xml ファイルには、サービス・エンジンと BPD エンジンのそれぞれを対象とした loop-detection-duration プロパティーがあります。各プロパティーの値により、サービスまたは BPD インスタンスに予期される実行時間の最大長が設定されます。値 -1 は所要時間が無制限であることを意味します。この 2 つのエンジンは、サービスまたは BPD インスタンスが最大期間を超過した場合の動作という点で異なります。
重要: 他のカスタマイズの変更と同様に、99Local.xml ファイルを直接変更しないでください。代わりに、100Custom.xml ファイルを使用して、デフォルト設定をオーバーライドします。詳しくは、100Custom.xml の IBM Process Server プロパティーの変更を参照してください。
99Local.xml ファイルには、以下の例に示すような、無限ループを検出するためのプロパティーがあります。
<service-engine>
	<loop-detection-duration>120</loop-detection-duration>
	<loop-detection-exception>false</loop-detection-exception>
</service-engine>
<bpd-engine>
	<loop-detection-duration>60</loop-detection-duration>
</bpd-engine>
サービスは無限ループの状態ではないのに、以下のメッセージが SystemOut.log に含まれる場合は、サービス・エンジンの loop-detection-duration の値を変更することを検討してください。

BPD インスタンスは無限ループの状態ではないのに、「CWLLG0871W: ビジネス・プロセス定義 (BPD) インスタンス {0} が {1} 秒間にわたって実行されており、無限ループに入っている可能性があります」というメッセージが SystemOut.log に含まれる場合は、BPD エンジンの loop-detection-duration の値を変更することを検討してください。

例えば、4 分 (240 秒) を経過したらサービスを停止するようにサービス・エンジンを変更するには、以下のコードを 100Custom.xml ファイルに追加します。

<server merge="mergeChildren">
	<service-engine merge="mergeChildren">
		<loop-detection-duration merge="replace">240</loop-detection-duration>
		<loop-detection-exception merge="replace">true</loop-detection-exception>
	</service-engine>
</server>