[Seasar-user:9717] Re: Page クラスで強制ロールバック
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2007年 8月 6日 (月) 20:37:53 JST
お疲れ様です。TuMikiです。
app_aop.diconに
<component name="appThrowsInterceptor" class="org.seasar.teeda.core.interc
eptor.AppThrowsInterceptor" />
を追加して、
customizer.diconのpageCustomizerコンポーネントに
<initMethod name="addCustomizer">
<arg>
<component class="org.seasar.framework.container.customizer.AspectCust
omizer">
<property name="interceptorName">"app_aop.appThrowsInterceptor"</pro
perty>
<property name="pointcut">"do.*, initialize, prerender"</property>
</component>
</arg>
</initMethod>
として追加することで、無事エラーコードが画面に表示されました。
ありがとうございました。
ついでですが、
Pageクラスのメソッドでトランザクション制御をする場合は、
<initMethod name="addCustomizer">
<arg>
<component class="org.seasar.framework.container.customizer.AspectCust
omizer">
<property name="interceptorName">"j2ee.requiredTx"</property>
<property name="pointcut">"do.*, initialize, prerender"</property>
</component>
</arg>
</initMethod>
と記述するようです。
S2の機能リファレンス>トランザクション制御を設定する>ページのコンポーネントに
適応する場合にある、
<initMethod name="addAspectCustomizer">
<arg>requiredTxCustomizer</arg>
<arg>"do.*, initialize, prerender"</arg>
</initMethod>
では、どうゆうわけかうまくいきませんでした。
当方の誤解でしたら、ごめんなさい。
以上
----- Original Message -----
>Date: Mon, 06 Aug 2007 11:14:49 +0900
>From: Yasuo Higa <[E-MAIL ADDRESS DELETED]>
>To: [E-MAIL ADDRESS DELETED]
>Subject: [Seasar-user:9688] Re:
> Page クラスで強制ロールバック
>
>
>ひがです。
>
>> 久保と申します。
>>
>> > お世話になっております。TuMikiです。
>> >
>> > Pageクラスで複数のDaoメソッドを作ろうとしています。
>> > 入力系ですので、エラーが発生したときにエラーページに飛ぶのではなく
>> > そのまま画面にメッセージを表示したいのですが、
>> > 普通に終わってしまうと、DBに対してコミットが発行されると予想しています。
>> > Pageクラス内で、強制的にロールバックを発行するサンプルとかありませんで
>> > しょうか?
>>
>org.seasar.teeda.core.interceptor.AppThrowsInterceptor
>をPageクラスに設定し、Pageクラスでは、
>SRuntimeExceptionを継承した例外をthrowすると
>目的のことができると思います。
>
>--
>Yasuo Higa
>[E-MAIL ADDRESS DELETED]
>_______________________________________________
>Seasar-user mailing list
>[E-MAIL ADDRESS DELETED]
>https://ml.seasar.org/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内