by white540 カテゴリ
全体日々の生き様 snowboard my hobby is ... らーめん お仕事 未分類 以前の記事
2008年 12月2008年 11月 2008年 10月 2008年 09月 2008年 08月 2008年 07月 2008年 06月 2008年 05月 2008年 04月 2008年 03月 2008年 02月 2008年 01月 2007年 12月 2007年 11月 2007年 10月 2007年 09月 2007年 08月 2007年 07月 2007年 06月 2007年 05月 2007年 04月 2007年 03月 2007年 02月 2007年 01月 2006年 12月 2006年 11月 2006年 10月 2006年 09月 2006年 08月 2006年 07月 2006年 06月 2006年 05月 2006年 04月 2006年 03月 2006年 02月 2006年 01月 2005年 12月 2005年 11月 2005年 10月 2005年 09月 2005年 08月 フォロー中のブログ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧
featuring
310のトゥー抜け
ユーキングマイウェイ☆ 我之日々。 butterbumpの日記 ☆mami&snow life☆ 鳥になった雪んこの唄 ☆missileman☆ 気ままにHappy☆hour |
今日は28日
28日だからって話だが28日はDQMの発売日。 ヨドバシのポイントたまってるんで秋葉行ってポイントで購入。 年末で混んでたけど大半はコートきた大人達。 営業ついでか何かしらんが仕事中これるなんてうらやましーな。 まあ俺はその上いってるけどね^^; 夜は予定があったのですきを見てS2のトランザクションの調査。 拉致があかないので自動登録ではなくサンプルクラスを直書きでdiconファイルに追加。 こんな感じ --------------------------------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container//EN" "http://www.seasar.org/dtd/components.dtd"> <components> <include path="j2ee.dicon" /> <component class="sample.dao.SampleDao"> <aspect> <component name="s2dao" class="org.seasar.dao.interceptors.S2DaoInterceptor" /> </aspect> </component> <component class="sample.service.impl.SampleServiceImpl"> <aspect pointcut=".*">j2ee.requiredTx</aspect> </component> </components> ---------------------------------------------------------------------- おっかかるじゃん! 直書きだと問題ないらしい。 このサンプルで動くって事はDaoの方のトランザクションをどうにかすればいいのでなく Serviceで開始されたトランザクションをDaoが認識できればいいのかな。 でも自動バインディング時の設定方法がわからん。 うーん悩む。 ちょっと調べてみたら別のトランザクションをかけてるとこがあったので そっちを参考にしてみる。 トランザクションがaspect指定ならサービスのアスペクト自動バインディング時に 指定してやればかかるんでないかい。 って感じでdaoのaspect自動バインディングを参考にserviceInterceptorChainというのを 作ってみた。 ----------------------------------------------------------------------- <?xml version="1.0" encoding="Utf-8"?> <!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN" "http://www.seasar.org/dtd/components.dtd"> <components> <include path="dao.dicon"/> <include path="aop.dicon"/> <include path="j2ee.dicon"/> <component name="daoInterceptorChain" class="org.seasar.framework.aop.interceptors.InterceptorChain"> <initMethod name="add"><arg>dao.interceptor</arg></initMethod> <initMethod name="add"><arg>aop.traceInterceptor</arg></initMethod> <initMethod name="add"><arg>j2ee.requiredTx</arg></initMethod> </component> <component name="serviceInterceptorChain" class="org.seasar.framework.aop.interceptors.InterceptorChain"> <initMethod name="add"><arg>aop.traceInterceptor</arg></initMethod> <initMethod name="add"><arg>j2ee.requiredTx</arg></initMethod> </component> <component name="traceInterceptor" class="org.seasar.framework.aop.interceptors.TraceInterceptor"/> <!-- 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.dao"</arg> <arg>".*Dao"</arg> </initMethod> </component> <component class="org.seasar.framework.container.autoregister.AspectAutoRegister"> <property name="interceptor">daoInterceptorChain</property> <initMethod name="addClassPattern"> <arg>"sample.dao"</arg> <arg>".*Dao"</arg> </initMethod> </component> <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> <aspect pointcut=".*">j2ee.requiredTx</aspect> </component> <component class="org.seasar.framework.container.autoregister.AspectAutoRegister"> <property name="interceptor">serviceInterceptorChain</property> <initMethod name="addClassPattern"> <arg>"sample.service.impl"</arg> <arg>".*ServiceImpl"</arg> </initMethod> </component> </components> ----------------------------------------------------------------------------------- 上のでdiconファイルで実行したらばっちりトランザクションかかりました。 コミットもロールバックも♪ 後はかける範囲とかをもうちょっと動作確認していけば理解できるよーになるかなー。 seasarのサイトよく見れば似たようなのがのってたけど、サンプルないときは本当に理解しないと つらいかなー。 springも時間があったら考えてみよう。
by white540
| 2006-12-29 22:38
| お仕事
| |||||||
ファン申請 |
||