有効になっている場合、チェックポイント設定は一般に、トランザクションがロールバックする場合でも、Bean がトランザクションを完了したあとに実行されます。Bean の状態に重要な変更をもたらす非トランザクションビジネスメソッドの終了時に、SFSB のオプションのチェックポイント設定を追加で指定するには、sun-ejb-jar.xml 配備記述子ファイルの ejb 要素にある checkpoint-at-end-of-method 要素を使用します。
checkpoint-at-end-of-method 要素内の非トランザクションメソッドは、次のいずれかになります。
SFSB のホームインタフェースで定義された create() メソッド。作成の直後に、SFSB の初期状態にチェックポイントを設定する場合に使用します。
コンテナ管理によるトランザクションのみを使用している SFSB の場合は、トランザクション属性 TX_NOT_SUPPORTED または TX_NEVER でマークされた Bean のリモートインタフェースのメソッド。
Bean 管理によるトランザクションのみを使用している SFSB の場合は、Bean 管理によるトランザクションが起動もコミットもされないメソッド。
このリストに記述されているその他のメソッドはすべて無視されます。これらの各メソッドの呼び出しの終了時に、EJB コンテナは SFSB の状態を持続性ストアに保存します。
SFSB がどのトランザクションにも参加しておらず、checkpoint-at-end-of-method 要素で明示的に指定されているメソッドがない場合は、この Bean に対して availability-enabled="true" が設定されていても、この Bean の状態にチェックポイントは設定されません。
パフォーマンスを向上させるには、メソッドの小さなサブセットを指定します。これらのメソッドは一般に、大量の処理を実行するか、または Bean の状態に重要な変更をもたらします。
<sun-ejb-jar> ... <enterprise-beans> ... <ejb availability-enabled="true"> <ejb-name>ShoppingCartEJB</ejb-name> <checkpoint-at-end-of-method> <method> <method-name>addToCart</method-name> </method> </checkpoint-at-end-of-method> </ejb> ... </enterprise-beans> </sun-ejb-jar>