• Type: Bug
    • Resolution: Fixed
    • Priority: Major
    • 2.4.18-rc4
    • Affects Version/s: 2.4.18-rc3
    • Component/s: S2-Tiger
    • None

      S2JDBC を WAS6 で使用すると,トランザクションのコミット時に NullPointerException が発生する.[Seasar-user:11924]
      http://ml.seasar.org/archives/seasar-user/2007-December/011923.html

          [CONTAINER-135] S2JDBC を WAS6 で使用すると,トランザクションのコミット時に NullPointerException が発生する問題を修正しました.[Seasar-user:11924]

          koichik added a comment -

          koichik added a comment - 対応しました. http://svn.seasar.org/browse/?view=rev&root=s2container&revision=3285 報告者の確認も取れました. [Seasar-user:11955] http://ml.seasar.org/archives/seasar-user/2007-December/011954.html

          koichik added a comment -

          ダメだったので再オープン.

          そもそも JTA の仕様に勘違いがあった模様.
          Synchronization#afterCompletion() は,トランザクションコンテキストの外側で呼び出される.
          この意味は,トランザクションステータスが STATUS_ACTIVE でないということではなく,そもそもカレントスレッドにトランザクションが関連づけられていない状態で呼び出されるということらしい.
          http://java.sun.com/javaee/5/docs/api/javax/transaction/TransactionSynchronizationRegistry.html#registerInterposedSynchronization(javax.transaction.Synchronization)

          The afterCompletion callback will be invoked in an undefined context.

          そのため,TransactionSynchronizationRegistry#getResource() も null を返す.
          S2JDBC は afterCompletion() の中で getResource() を呼び出していたため,S2JTA 以外の環境で動作しなかった.

          koichik added a comment - ダメだったので再オープン. そもそも JTA の仕様に勘違いがあった模様. Synchronization#afterCompletion() は,トランザクションコンテキストの外側で呼び出される. この意味は,トランザクションステータスが STATUS_ACTIVE でないということではなく,そもそもカレントスレッドにトランザクションが関連づけられていない状態で呼び出されるということらしい. http://java.sun.com/javaee/5/docs/api/javax/transaction/TransactionSynchronizationRegistry.html#registerInterposedSynchronization(javax.transaction.Synchronization ) The afterCompletion callback will be invoked in an undefined context. そのため,TransactionSynchronizationRegistry#getResource() も null を返す. S2JDBC は afterCompletion() の中で getResource() を呼び出していたため,S2JTA 以外の環境で動作しなかった.

          koichik added a comment -

          対応しました.
          http://svn.seasar.org/browse/?view=rev&root=s2container&revision=3283

          報告者の確認が取れてないけどダメだったら再オープンするということで.

          koichik added a comment - 対応しました. http://svn.seasar.org/browse/?view=rev&root=s2container&revision=3283 報告者の確認が取れてないけどダメだったら再オープンするということで.

            Assignee:
            koichik
            Reporter:
            koichik
            Votes:
            0 Vote for this issue
            Watchers:
            Start watching this issue

              Created:
              Updated:
              Resolved: