クラス TransactionTag

  • すべての実装されたインタフェース:
    Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally

    public class TransactionTag
    extends CommonTagSupport
    コネクションを共有して、トランザクションを実現します。 通常のタグでは、コネクションプールより、その時々のコネクションを取り出して利用するため、 タグごとに異なるコネクションで処理されます。 また、commit や rollback などもそれぞれのタグで行われるため、連続処理時にエラーが 発生しても、中途半端な状態になります。 ここでは、各 DBID 単位にコネクションを共有し、このタグの間は、同じオブジェクトを commit や、rollback せずに使いまわすようにします。 これにより、複数タグ間のトランザクションや、異なる DBID 間のトランザクションを 実現します。 このタグは、doEndTag() メソッドが正常に呼び出されることで、トランザクションが成立します。 つまり、途中で、JSP出力が、SKIP_PAGE された場合は、commit もされません。 これは、データベースエラー以外のエラーでも、トランザクション処理されることを意味します。
    関連項目:
    直列化された形式
    導入されたバージョン:
    JDK6.0,
    • コンストラクタの詳細

      • TransactionTag

        public TransactionTag()
        デフォルトコンストラクター
    • メソッドの詳細

      • doStartTag

        public int doStartTag()
        Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
        定義:
        doStartTag インタフェース内 javax.servlet.jsp.tagext.Tag
        オーバーライド:
        doStartTag クラス内 CommonTagSupport
        戻り値:
        後続処理の指示( EVAL_BODY_INCLUDE )
      • doEndTag

        public int doEndTag()
        Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。 TransactionTag の doEndTag() では、途中で、SKIP_PAGE されると、呼ばれません。 これは、データベース以外のタグで、エラー等が発生したことになります。 最後の、endCommit() が呼ばれない限り、トランザクションは commit されずに、 rollback されます。
        定義:
        doEndTag インタフェース内 javax.servlet.jsp.tagext.Tag
        オーバーライド:
        doEndTag クラス内 CommonTagSupport
        戻り値:
        後続処理の指示
      • doCatch

        public void doCatch​(Throwable th)
                     throws Throwable
        タグの処理中(セッターメソッドを除く)の例外を全て受け取ります。 タグの中のボディ部の評価中、または Tag.doStartTag(), Tag.doEndTag(), IterationTag.doAfterBody(), BodyTag.doInitBody() のいずれもの メソッドの中で、Throwableが投げられたときに呼び出されます。 このメソッドはセッターメソッドの中でThrowableが起きた場合は呼び出されません。
        定義:
        doCatch インタフェース内 javax.servlet.jsp.tagext.TryCatchFinally
        オーバーライド:
        doCatch クラス内 CommonTagSupport
        パラメータ:
        th - このタグを通過してきたThrowableな例外
        例外:
        Throwable
      • release2

        protected void release2()
        タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
        オーバーライド:
        release2 クラス内 CommonTagSupport
      • getTranObj

        protected Transaction getTranObj()
        Transactionオブジェクトを返します。
        戻り値:
        Transactionオブジェクト
      • toString

        public String toString()
        このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
        オーバーライド:
        toString クラス内 CommonTagSupport
        戻り値:
        このクラスの文字列表現