[Seasar-user:14079] 【S2Container】requiredTxが機能しない??
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2008年 5月 7日 (水) 11:22:57 JST
requiredTxについて質問させて下さい。
S2ContainerのrequiredTxをdaoにAspectしたのですが
トランザクション制御がされないようです。
テストPGでは、一意制約違反になるように、全く同じデータを
続けて2回insert()しています。
⇒最初のinsert()がロールバックされず、DBに登録されてしまいます。
但し、ログ上ではロールバックされたかのように出力されます。
(添付ファイル参照)
トランザクション開始:30行目
ロールバック:43行目
どこを修正すればいいのでしょうか?
宜しくお願いします。
【環境】
s2-framework-2.4.22.jar
s2-extension-2.4.22.jar
s2-dao-1.0.47.jar
[mainメソッド]
public static void main(String[] args)
{
S2Container container = S2ContainerFactory.create(PATH);
container.init();
try
{
TransactionTest transactionTest
=
(TransactionTest)container.getComponent("transactionTest");
transactionTest.setContainer(container);
transactionTest.transaction();
} finally {
container.destroy();
}
}
[transaction()]
public void transaction()
{
EdiMailSettingDao dao
=
(EdiMailSettingDao)container.getComponent(EdiMailSettingDao.class);
EdiMailSetting ediMailSetting = new EdiMailSetting();
ediMailSetting.setSettingNumber("999999");
ediMailSetting.setMailAddress("[E-MAIL ADDRESS DELETED]");
//トランザクションがロールバックされるかテスト
System.out.println(dao.insert(ediMailSetting));
System.out.println(dao.insert(ediMailSetting));
}
-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: log.txt
URL: http://ml.seasar.org/archives/seasar-user/attachments/20080507/2b48591a/attachment.txt
Seasar-user メーリングリストの案内