ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express メッセージ集
Interstage

71.8.28 IJServer21229

IJServer: WARNING: IJServer21229: STATUS_ROLLEDBACK returned from commit method of UserTransaction: NAME=%s1
IJServer: 警告: IJServer21229: UserTransactionのcommitメソッドがSTATUS_ROLLEDBACKを返却しました: NAME=%s1

可変情報

%s1:EJBアプリケーション名

意味

UserTransactionのcommitメソッドでエラーが発生し、トランザクションをロールバックしました。以下に考えられる原因を示します。

  • commitメソッドで実行される以下のメソッドでエラーが発生しました。

    • Entity BeanのejbStoreメソッド

    • Entity BeanのejbPassivateメソッド

    • Entity Bean(CMP)使用時のEJBコンテナが実行するDBMSへのUPDATE処理

    • Session BeanのbeforeCompletion

  • トランザクション中にEJBアプリケーションでシステム例外が発生したため、EJBコンテナがトランザクションの状態をSTATUS_MARKED_ROLLBACKとしています。このためcommitメソッド実行時にトランザクションをロールバックしました。

  • アプリケーション内でUserTransactionのsetRollbackOnlyメソッドを実行しています。このためcommitメソッド実行時にトランザクションをロールバックしました。

システムの処理

トランザクションをロールバックして、クライアントアプリケーションにHeuristicRollbackExceptionをthrowします。

ユーザの対処

以下について、それぞれ対処を実施してください。

  • commitメソッドで実行される以下のメソッドでエラーが発生しました。

    • Entity BeanのejbStoreメソッド

    • Entity BeanのejbPassivateメソッド

    • Entity Bean(CMP)使用時のEJBコンテナが実行するDBMSへのUPDATE処理

    • Session BeanのbeforeCompletion

    対処
    以下の順番で例外が発生した原因を調査し、原因を取り除いた後にアプリケーションを再度実行してください。
    1)以下のログファイルを参照して発生した例外を確認してください。


      [J2EE共通ディレクトリ]\ijserver\[IJServer名]\log\[プロセス単位の通番]\container.log

      [J2EE共通ディレクトリ]/ijserver/[IJServer名]/log/[プロセス単位の通番]/container.log

    2)スタックトレースを確認して例外の発生原因を調査してください。スタックトレースの解析方法については、“J2EE ユーザーズガイド(旧版互換)”の“スレッドダンプが出力された場合の対処”を参照してください。よく発生する例外の原因については“第105章 J2EE使用時に出力される例外情報”を参照してください。

    また、上記で解決できない場合には、当該メッセージの情報などと、iscollectinfoコマンドを使用して調査情報を採取した後、技術員に連絡してください。

  • トランザクション中にEJBアプリケーションでシステム例外が発生したため、EJBコンテナがトランザクションの状態をSTATUS_MARKED_ROLLBACKとしています。このためcommitメソッド実行時にトランザクションをロールバックしました。

    対処
    本エラーが発生する前にIJServer21096が発生しています。IJServer21096が発生した原因を調査して対処した後に、再度運用してください。

  • アプリケーション内でUserTransactionのsetRollbackOnlyメソッドを実行しています。このためcommitメソッド実行時にトランザクションをロールバックしました。

    対処
    setRollbackOnlyメソッドを実行した原因を確認してください。setRollbackOnlyメソッドを実行した原因を調査して対処した後に、再度運用してください。