注釈インタフェース CompositeCommandConfig


public @interface CompositeCommandConfig
複数のCommandを単一のCommandとみなす場合の設定です。
  • 任意要素の概要

    任意要素
    修飾子とタイプ
    任意要素
    説明
    複合するCommandの設定を指定します。
    boolean
    複合Commandより例外がスローされた場合、トランザクションをロールバックするか否かの設定です。
    複合Commandを利用する場合の処理ルールをGroovyScriptで設定します。
    boolean
    トランザクションが本複合Command処理用に新規作成された際、 処理中にsetRoobackOnlyされた場合、 かつ明示的に例外がスローされなかった場合、RollbackExceptionをスローするか否かの設定です。
    複合Commandを利用する場合の複合Command全体に対するトランザクションのPropagationの設定です。
    複合Commandのインスタンスの初期化設定です。
  • 要素の詳細

    • command

      CommandConfig[] command
      複合するCommandの設定を指定します。
      戻り値:
      デフォルト:
      {}
    • value

      String value
      複合Commandのインスタンスの初期化設定です。
      設定例
       cmd[0].propA = 10
       cmd[1].propB = 'hoge'
       
      とした場合、 commandで定義されるCommandのindex=0のCommandのプロパティpropAに10、 index=1のCommandのプロパティpropBにhogeといったStringをセットします。
      ※GroovyScriptで、cmdでCommandのインスタンス配列がバインドされています。
      戻り値:
      デフォルト:
      "##default"
    • transactionPropagation

      Propagation transactionPropagation
      複合Commandを利用する場合の複合Command全体に対するトランザクションのPropagationの設定です。 未指定(デフォルト)の場合は、REQUIREDが指定されます。 個別のCommandに適用するPropagationは、CommandConfigに設定可能です。
      戻り値:
      デフォルト:
      REQUIRED
    • rollbackWhenException

      boolean rollbackWhenException
      複合Commandより例外がスローされた場合、トランザクションをロールバックするか否かの設定です。 未指定(デフォルト)の場合はtrueです。
      戻り値:
      デフォルト:
      true
    • throwExceptionIfSetRollbackOnly

      boolean throwExceptionIfSetRollbackOnly
      トランザクションが本複合Command処理用に新規作成された際、 処理中にsetRoobackOnlyされた場合、 かつ明示的に例外がスローされなかった場合、RollbackExceptionをスローするか否かの設定です。 未指定(デフォルト)の場合はfalseです。
      戻り値:
      デフォルト:
      false
    • rule

      String rule
      複合Commandを利用する場合の処理ルールをGroovyScriptで設定します。 ルールでは、複数のCommandの呼び出し順などを制御可能で、 最終的にCommandの実行結果文字列を返却するように実装します。
      設定例
       if (cmd[0].execute(request) == "SUCCESS") {
           return cmd[1].execute(request);
       } else {
           return cmd[2].execute(request);
       }
       
      commandで指定されたインスタンス配列がcmdの名前でバインドされています。 また、requestでRequestContextがバインドされています。
      ルールが未指定の場合は、commandで指定されたCommandを順番に実行します。 Commandの実行結果は最後のCommandの実行結果が返却されます。
      戻り値:
      デフォルト:
      "##default"