5.1.4 XML解析処理に関する多重度
要求電文および応答電文の処理に使用するクラスは複数のスレッドで共有できないため,複数のスレッドで同時使用する場合は,スレッドごとにインスタンスを生成する必要があります。
インスタンスの生成処理は時間を要するため,解析ごとに生成すると性能が劣化します。
インスタンスプール機能を使用すると,メモリ上に作成されたインスタンスプールに生成したインスタンスを貯めておくことができます。インスタンスプールへ貯めたインスタンスは,システム全体で共有し,再利用できるため,処理の効率向上が図れます。
インスタンスプールに生成したインスタンスを貯めておくには,次の表に示すように設定します。
定義ファイル |
プロパティ |
内容 |
---|---|---|
HCSCサーバランタイム定義ファイル |
xml-pooled-instance-minimum |
要求電文および応答電文の処理に使用するクラスのインスタンスをキャッシュする最小数 |
xml-pooled-instance-maximum |
要求電文および応答電文の処理に使用するクラスのインスタンスをキャッシュする最大数 |
作成済みのインスタンスを再利用する場合は,キャッシュする最小数を定義します。キャッシュする最小数を定義しておくと,HCSCサーバの起動時にプールが初期化され,定義した値の分のインスタンスを生成してプールに設定します。
キャッシュする最大数を設定しておくと,定義した値に達するまでインスタンスを貯めることができます。再利用によってインスタンスが減少しても,インスタンスを生成してプールに設定するため,枯渇することはありません。
xml-pooled-instance-minimumプロパティおよびxml-pooled-instance-maximumプロパティの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「6.5.6 HCSCサーバランタイム定義ファイル」を参照してください。