[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 メーリングリストの案内