[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 メーリングリストの案内