[Seasar-user:8078] Re: [Seasar]Seasar2.4系でトランザクションを扱うための設定

kondo [E-MAIL ADDRESS DELETED]
2007年 6月 5日 (火) 17:10:01 JST


近藤です。

JUNDUさん、小林さん、回答ありがとうございます。
私の方では、Logicクラスに対してトランザクションをかけるつもりでした。
教えていただいた設定をLogicクラスに対する設定に変更してみたところ、
問題なく動作致しました。

<component name="logicCustomizer"
    class="org.seasar.framework.container.customizer.CustomizerChain">
  <initMethod name="addCustomizer">
    <arg>requiredTxCustomizer</arg>
  </initMethod>
</component>

構文は、

<component name="〜〜Customizer"
    class="org.seasar.framework.container.customizer.CustomizerChain">
  <initMethod name="addCustomizer">
    <arg>{インターセプタ}</arg>
  </initMethod>
</component>

という事ですね。勉強になりました。
また、Daoに対してS2Daoのインターセプタ(これは初めて知りました)ですが、
Doltengで作成した環境では、書記官教でdaoCustomizerにs2DaoCustmizerを適用
するようになっていましたので、特に変更は加えませんでした。

もうひとつだけ教えてください。この構文の場合、でpointcutを指定するには
どのように記述すればよろしいのでしょうか?
というのも、Logicクラスには、read,insert,update,delete〜〜とあり、
insert〜,update〜,delete〜のメソッドに対してのみトランザクションを適用
したいのです。私が設定していた従来の設定方法であれば、<aspect>タグの
属性として、pointcut="insert*,update*,delete*" と設定しているのですが、
上記構文の場合ですと、どこに適用してよいかがわかりません。
第二引数かと思い、下記のようにしてみたのですがkijimunaの方でエラーと
なりました。

<component name="logicCustomizer"
    class="org.seasar.framework.container.customizer.CustomizerChain">
  <initMethod name="addCustomizer">
    <arg>requiredTxCustomizer</arg>
    <arg>insert*,update*,delete*</arg>
  </initMethod>
</component>


以上、よろしくお願い致します。



Seasar-user メーリングリストの案内