ステートレス・モードを使用している場合、要求間の非トランザクション・アプリケーション・モジュールの状態をプールで保持するよう指定できます。非トランザクション状態の例には、キャッシュされたJDBCのプリコンパイルされたSQL文、動的WHERE句、ビュー・オブジェクト・インスタンス、アプリケーション・モジュール・オブジェクト・インスタンスがあります。トランザクション状態の例には、任意のデータベース状態、およびエンティティとビュー・キャッシュの状態があります。
プロパティのデフォルト値は現在trueであるため、非トランザクション状態はリセットされます。これはバージョン3.2の動作です。たとえば、このデフォルト設定により、セッション1で指定された動的WHERE句はセッション2では再利用されず、混乱や情報の流出を防止できます。
キャッシュされたJDBC文などのステートレス要求間で非トランザクション状態を保持する必要がある場合は、このプロパティをfalseに設定してください。
いずれの設定にするかは、メモリーとパフォーマンスによります。
警告: このプロパティをfalseに設定する際は注意が必要です。セッション間で、WHERE句のデータなどの保護情報が意図せず共有される可能性があります。
ビジネス・ロジック層のJVMを起動する際に、コマンドラインに次のディレクティブを指定します。
-Djbo.ampool.resetnontransactionalstate=false
値がtrueの場合は、非トランザクション状態のリセットが有効になります。
また、$JDEV_HOME/BC4J/lib/bc4jmt.jar
に格納されているjboserver.properties
ファイルに、次の1行を追加することもできます。この場合、デプロイメント時にこのファイルを含める必要があります。
jbo.ampool.resetnontransactionalstate=false
ナビゲータで、ビジネス・コンポーネント・プロジェクト(JPRファイル)を右クリックし、「プロジェクトの設定」を選択します。
「プロジェクトの設定」ダイアログの左側のパネルで、「構成」->「Development」の下のツリーで「実行」を選択します。
「Javaオプション」フィールドにパラメータを入力します。
「OK」をクリックします。
アプリケーション・モジュールのプール
アプリケーション・モジュール・プールについて
プールのためのクラスについて
JSPプロジェクトのBC4J構成プロパティについて