[Seasar-user:4625] 自動設定される実装クラスのメソッドに対するトランザクション定義について

中西 康代 [E-MAIL ADDRESS DELETED]
2006年 9月 15日 (金) 23:55:17 JST


基本的な質問で恐縮なのですが、
トランザクション定義について質問があります。

環境は、
     J2SE5.0
     tomcat5.5
     HSQLDB
     S2hibernate1.1.2
     S2Struts1.2.3

http://s2container.seasar.org/ja/DIContainer.html#ComponentAutoRegister
でのコンポーネントの自動登録した場合のトランザクション定義は可能でしょうか?


Daoインターフェース(例:SampleDao)ごとにトランザクション定義及び、
それらのメソッドを使用したクラス(例:SampleServiceImpl)を以下のように設定す
るこ
とで、
個々にトランザクション定義ができています。

例)
--------------------------------------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.3//EN"
	"http://www.seasar.org/dtd/components23.dtd">
<components>
	<include path="j2ee.dicon"/>
        <include path="sample/dicon/SampleDao.dicon"/>  
        <component name="SampleService"
class="sample.service.impl.SampleServiceImpl">
            <aspect pointcut="saveSample">j2ee.requiredTx</aspect>
            <aspect pointcut="deleteSample">j2ee.requiredTx</aspect>
            <aspect pointcut="updateSample">j2ee.requiredTx</aspect>
            <aspect pointcut="findSample">j2ee.notSupportedTx</aspect>
        </component>
</components>
--------------------------------------------------------------------


ただ、コンポーネントの自動登録した場合のトランザクション定義を
色々なサイト等で調べてみたのですが、動作しない状況です。

記述方法がわるいのか、別の実装方法があるのかもわかっていない状況です。
説明がわかりにくい箇所も多々あると思いますが、宜しくお願い致します。

例)
--------------------------------------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container//EN"
        "http://www.seasar.org/dtd/components.dtd">
<components>
  <include path="sample/dicon/SampleDao.dicon"/>  

  <!-- auto registration -->
  <component
   
class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">

    <property name="autoNaming">
      <component
class="org.seasar.framework.container.autoregister.DefaultAutoNaming"/>
    </property>
    <initMethod name="addClassPattern">
      <arg>"sample.service.impl"</arg>
      <arg>".*ServiceImpl"</arg>
    </initMethod>
  </component>

  <component name="traceInterceptor"
    class="org.seasar.framework.aop.interceptors.TraceInterceptor"/>

  <component class="sample.struts.SampleAction">
    <aspect pointcut="check">
      traceInterceptor
    </aspect>
  </component>

  <component name="SampleService"
class="sample.service.impl.SampleServiceImpl">
      <aspect pointcut="saveSample">j2ee.requiredTx</aspect>
          <aspect pointcut="deleteSample">j2ee.requiredTx</aspect>
          <aspect pointcut="updateSample">j2ee.requiredTx</aspect>
          <aspect pointcut="findSample">j2ee.notSupportedTx</aspect>
   </component>
</components>
--------------------------------------------------------------------

_________________________________________________________________
MSNサーチがLive Searchに変わります。今すぐトライ! 
http://get.live.com/search/overview 




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