Class DbConnectionManagementHandler

java.lang.Object
nablarch.common.handler.DbConnectionManagementHandler
All Implemented Interfaces:
Handler<Object,Object>, InboundHandleable, OutboundHandleable

public class DbConnectionManagementHandler extends Object implements Handler<Object,Object>, InboundHandleable, OutboundHandleable
後続ハンドラの処理で必要となる、データベース接続オブジェクトを スレッドローカル変数上で管理するハンドラ。
 デフォルトの設定では、トランザクションが暗黙的に使用する接続名
 (TransactionContext.DEFAULT_TRANSACTION_CONTEXT_KEY)
 に対して接続オブジェクトを登録する。
 接続名を明示的に指定する場合は、属性dbConnectionNameにその値を設定する。
<!-- 設定例 --> <component class="nablarch.common.handler.DbConnectionManagementHandler"> <!-- DbConnectionFactory --> <property name="dbConnectionFactory" ref="dbConnectionFactory"/> <!-- 追加するデータベース接続オブジェクトの名称 --> <property name="dbConnectionName" value="db"/> </component>
  • Constructor Details

    • DbConnectionManagementHandler

      public DbConnectionManagementHandler()
  • Method Details

    • setConnectionFactory

      public DbConnectionManagementHandler setConnectionFactory(ConnectionFactory connectionFactory)
      データベース接続オブジェクトを生成するためのファクトリを設定する。
      Parameters:
      connectionFactory - データベース接続オブジェクトを生成するためのファクトリ
      Returns:
      このハンドラ自体
    • setConnectionName

      public void setConnectionName(String connectionName)
      データベース接続のスレッドコンテキスト上の登録名を設定する。
       デフォルトでは既定のトランザクション名
       (TransactionContext.DEFAULT_TRANSACTION_CONTEXT_KEY)を使用する。
       
      Parameters:
      connectionName - データベース接続のスレッドコンテキスト上の登録名
    • handle

      public Object handle(Object inputData, ExecutionContext ctx)
      入力データに対する処理を実行する。
       このクラスの実装では後続ハンドラに対する処理委譲の前後に、
       データベース接続オブジェクトの初期化と終了の処理をそれぞれ行う。
       
      Specified by:
      handle in interface Handler<Object,Object>
      Parameters:
      inputData - 入力データ
      ctx - 実行コンテキスト
      Returns:
      処理結果データ
    • before

      public void before()
      往路処理を行う。

      ConnectionFactoryからTransactionManagerConnectionを取得し、 DbConnectionContextに設定する。

    • after

      public void after()
      復路処理を行う。

      DbConnectionContextからデータベース接続を削除し、リソースの開放処理を行う。

    • handleInbound

      public Result handleInbound(ExecutionContext context)
      Description copied from interface: InboundHandleable
      前処理を実装する。
      Specified by:
      handleInbound in interface InboundHandleable
      Parameters:
      context - ExecutionContext
      Returns:
      処理結果オブジェクト
    • handleOutbound

      public Result handleOutbound(ExecutionContext context)
      Description copied from interface: OutboundHandleable
      後処理を実装する。
      Specified by:
      handleOutbound in interface OutboundHandleable
      Parameters:
      context - ExecutionContext
      Returns:
      処理結果オブジェクト