佐藤と申します。<br>いつもお世話になっております。<br><br>だいぶ昔のネタで・髟阡擦靴��DaoにTransaction境界瘢雹を設けるなんて~という瘢雹流れの中・髟阡�<br>ちょっとだけ確認したいことがう髟阡擦蠅泙靴燭里廼気┐討�世気�^^;<br><br>DaoにTxをAspectする��豺隋���<br><br>&lt;component class=&quot;...Dao&quot;&gt;<br> &nbsp;&lt;aspect&gt;j2ee.requiredTx
&lt;/aspect&gt;<br> &nbsp;&lt;aspect&gt;dao.interceptor&lt;/aspect&gt;<br>&lt;/component&gt;<br><br>とするという瘢雹ことでしたが・髟阡�dao.intercepterとj2eerequiredTxの順番を逆にすると・髟阡�Txが機能しませんでした。<br><br>&lt;component class=&quot;...Dao&quot;&gt;<br>&nbsp;&lt;aspect&gt;
dao.interceptor&lt;/aspect&gt;<br>&nbsp;&lt;aspect&gt;j2ee.requiredTx&lt;/aspect&gt;<br>
 &lt;/component&gt;<br><br>ここはやはり・髟阡�Txから先に書かないと行けない仕様となっているのでしょう瘢雹か?<br><br><br><div class="gmail_quote">On Jun 5, 2007 3:30 PM, Koichi Kobayashi &lt;<a href="mailto:koichik@improvement.jp">koichik@improvement.jp</a>&gt; wrote:
<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">���� (koichik) です.<br><br>回答は JUNDU さんの [Seasar-user:8061] のとおりですが,<br>ちょっと補足を.<br><br>Date: &nbsp; &nbsp;Tue, 05 Jun 2007 09:52:38 +0900
<br>From: &nbsp; &nbsp;kondo &lt;<a href="mailto:mail.list.dev@aaf-s.co.jp">mail.list.dev@aaf-s.co.jp</a>&gt;<br>To: &nbsp; &nbsp; &nbsp;<a href="mailto:seasar-user@ml.seasar.org">seasar-user@ml.seasar.org</a><br>Subject: [Seasar-user:8052] [Seasar]Seasar2.4系でトランザクションを扱う瘢雹ための設定
<br><div class="Ih2E3d"><br>&gt; ����customizer.dicon追加設定<br>&gt; &lt;component name=&quot;s2DaoCustomizer&quot;<br>&gt; class=&quot;org.seasar.framework.container.customizer.AspectCustomizer&quot;&gt;<br>&gt; &nbsp; &nbsp; &nbsp; &lt;property name=&quot;interceptorName&quot;&gt;&quot;
j2ee.requiredTx&quot;&lt;/property&gt;<br>&gt; &lt;/component&gt;<br><br></div>Dao にトランザクション境界瘢雹を設定するのはまったく<br>オススメできませんが,もしそう瘢雹するのでう髟阡擦譴�<br>Dao に対してトランザクションのインタ・踉札札廛燭�<br>S2Dao のインタ・踉札札廛燭領��方を設定する必要がう髟阡擦蠅泙后�<br>��綉④猟蟲舛世函ぅ肇薀鵐競�轡腑鵑離ぅ鵐拭��セプタのみ
<br>適用されて,S2Dao のインタ・踉札札廛燭��僂気譴覆�<br>なってしまいます.<br>これはちょう瘢雹ど,<br><br>&lt;component class=&quot;...Dao&quot;&gt;<br> &nbsp;&lt;aspect&gt;j2ee.requiredTx&lt;/aspect&gt;<br>&lt;/component&gt;<br><br>と書いたのと同じよう瘢雹なことになります.<br>そのために Dao インタフェ・踉札垢離瓮愁奪匹紡个靴�
<br>��汰� (通��錣� S2Dao のインタ・踉札札廛燭�鷆�) が<br>提供されず,<br><div class="Ih2E3d"><br>&gt; ���H�犬靴仁祿亜文汽優燭離螢鵐�茲茲衄歓茵�<br>&gt; java.lang.NoSuchMethodError<br><br></div>という瘢雹ことになります.<br>��綉④梁紊錣蠅�<br><br>&lt;component name=&quot;daoCustomizer&quot;<br>
<div class="Ih2E3d"> &nbsp; &nbsp;class=&quot;org.seasar.framework.container.customizer.CustomizerChain&quot;&gt;<br> &nbsp;&lt;initMethod name=&quot;addCustomizer&quot;&gt;<br> &nbsp; &nbsp;&lt;arg&gt;requiredTxCustomizer&lt;/arg&gt;<br> &nbsp;&lt;/initMethod&gt;
<br></div> &nbsp;&lt;initMethod name=&quot;addCustomizer&quot;&gt;<br> &nbsp; &nbsp;&lt;arg&gt;s2DaoCustomizer&lt;/arg&gt;<br> &nbsp;&lt;/initMethod&gt;<br>&lt;/component&gt;<br><br>とすることで,Dao にトランザクションと S2Dao の<br>陸苳司�離ぅ鵐拭��セプタが適用されるよう瘢雹になります.<br>
requiredTxCustomizer,s2DaoCustomizer とも<br>std-customizer.dicon という瘢雹,s2-framework-2.4.x.jar に<br>含まれる標準コンポ・踉札優鵐箸任后�<br>std-customizer.dicon は通��錙�default-customizer.dicon<br>経由で利用します.<br><br>これで<br><br>&lt;component class=&quot;...Dao&quot;&gt;
<br> &nbsp;&lt;aspect&gt;j2ee.requiredTx&lt;/aspect&gt;<br> &nbsp;&lt;aspect&gt;dao.interceptor&lt;/aspect&gt;<br>&lt;/component&gt;<br><br>と書いたのと同じよう瘢雹になります.<br><br><br>このよう瘢雹に設定した��豺隋�Dao のメソッドが呼ばれる度に<br>トランザクションが開始・瘢雹コミットされてしまう瘢雹ので,<br>FxUG の ML で nobu さんが書いておられるよう瘢雹な
<br><br>&gt; ����Dao#insertを2回��孫圓掘���2回目で例外が発生した��豺�1回目の分<br>&gt; もきちんとロ・踉札襯丱奪�気譴討い襦�<br><br>という瘢雹動きにはなりません.<br>これを��存修垢襪砲蓮�JUNDU さんが [Seasar-user:8061] で<br>書いておられるよう瘢雹に,Service 等に対してトランザクション<br>境界瘢雹を設定し,Dao は S2Dao のインタ・踉札札廛燭里濺�僂靴泙后�<br><div class="Ih2E3d">
<br>&lt;component name=&quot;serviceCustomizer&quot;<br> &nbsp; &nbsp;class=&quot;org.seasar.framework.container.customizer.CustomizerChain&quot;&gt;<br> &nbsp;&lt;initMethod name=&quot;addCustomizer&quot;&gt;<br> &nbsp; &nbsp;&lt;arg&gt;requiredTxCustomizer&lt;/arg&gt;
<br> &nbsp;&lt;/initMethod&gt;<br>&lt;/component&gt;<br><br></div>&lt;component name=&quot;daoCustomizer&quot;<br><div class="Ih2E3d"> &nbsp; &nbsp;class=&quot;org.seasar.framework.container.customizer.CustomizerChain&quot;&gt;<br> &nbsp;&lt;initMethod name=&quot;addCustomizer&quot;&gt;
<br></div> &nbsp; &nbsp;&lt;arg&gt;s2DaoCustomizer&lt;/arg&gt;<br> &nbsp;&lt;/initMethod&gt;<br>&lt;/component&gt;<br><br>これで<br><br>&lt;component class=&quot;...Service&quot;&gt;<br> &nbsp;&lt;aspect&gt;j2ee.requiredTx&lt;/aspect&gt;<br>&lt;/component&gt;
<br>&lt;component class=&quot;...Dao&quot;&gt;<br> &nbsp;&lt;aspect&gt;dao.interceptor&lt;/aspect&gt;<br>&lt;/component&gt;<br><br>と書いたのと同じよう瘢雹になります.<br><font color="#888888"><br><br>--<br>&lt;component name=&quot;koichik&quot;&gt;
<br> &nbsp; &nbsp;&lt;property name=&quot;fullName&quot;&gt;&quot;Koichi Kobayashi&quot;&lt;/property&gt;<br> &nbsp; &nbsp;&lt;property name=&quot;email&quot;&gt;&quot;<a href="mailto:koichik@improvement.jp">koichik@improvement.jp</a>&quot;&lt;/property&gt;
<br> &nbsp; &nbsp;&lt;property name=&quot;blog&quot;&gt;&quot;<a href="http://d.hatena.ne.jp/koichik" target="_blank">http://d.hatena.ne.jp/koichik</a>&quot;&lt;/property&gt;<br>&lt;/component&gt;<br></font><div><div></div><div class="Wj3C7c">
<br>_______________________________________________<br>Seasar-user mailing list<br><a href="mailto:Seasar-user@ml.seasar.org">Seasar-user@ml.seasar.org</a><br><a href="https://ml.seasar.org/mailman/listinfo/seasar-user" target="_blank">
https://ml.seasar.org/mailman/listinfo/seasar-user</a><br></div></div></blockquote></div><br>