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

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 6月 5日 (火) 17:30:14 JST


小林 (koichik) です.

Date:    Tue, 05 Jun 2007 17:10:01 +0900
From:    kondo <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:8078] Re: [Seasar]Seasar2.4系でトランザクションを扱うための設定

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

{インターセプタ} のところはインターセプタではなく,
「カスタマイザ」です.
requiredTxCustomizer の実体は std-customizer.dicon に
定義されていて,

<component name="requiredTxCustomizer"
    class="org.seasar.framework.container.customizer.AspectCustomizer">
  <property name="interceptorName">"j2ee.requiredTx"</property>
</component>

となっています.
AspectCustomizer というのは AOP を適用するカスタマイザで,
interceptorName プロパティの値がインターセプタ名です.
ちなみに s2DaoCustomizer は

<component name="s2DaoCustomizer"
    class="org.seasar.framework.container.customizer.AspectCustomizer">
  <property name="interceptorName">"dao.interceptor"</property>
</component>

となっています.

> もうひとつだけ教えてください。この構文の場合、でpointcutを指定するには
> どのように記述すればよろしいのでしょうか?

AspectCustomizer クラスの pointcut プロパティで
指定します.
std-customizer.dicon に定義されている
標準コンポーネントにはポイントカットは指定されて
いないので,それらを使うことはできず,自前で
定義することになります.

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

となります.
個人的には照会系でもトランザクション境界を設定すべきだと
思いますが.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>




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