[Seasar-user:7060] Re: [DBFlute] IDの自動生成が動かない
Kazushi Tominaga
[E-MAIL ADDRESS DELETED]
2007年 4月 5日 (木) 13:26:14 JST
冨永です。
引き続き調査中です。
> 原因が判明していないので例になりますが、
> DaoとServiceを別のコンテナから取得した場合、S2DaoとServiceの
> DataSourceは別のDataSourceから取得したコネクションを使用して、
> ことになるため、トランザクションも別になります。
> この場合、Serviceのトランザクションがロールバックする前にDaoの
> insertがコミットされるような挙動になるため、見た目はロールバック
> されていないように見えます。
サービスのトランザクションは、customizer.diconに下記のように定義されてい
ました。
なお、開発中のシステムは S2Sturts をベースにしています。
<component name="serviceCustomizer"
class="org.seasar.framework.container.customizer.CustomizerChain">
<initMethod name="addCustomizer">
<arg>defaultCustomizer</arg>
</initMethod>
<initMethod name="addCustomizer">
<arg>txAspectCustomizer</arg>
</initMethod>
</component>
ためしにtxAspectCustomizerをコメントアウトしたところ、
トランザクションを示すログはでてきませんでした。
customizer.diconにてトランザクションを定義した場合、
別のDataSourceから取得してしまうのでしょうか?
Seasar-user メーリングリストの案内