[Seasar-user:20246] Re: S2DAO による、SavePoint の使用について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2010年 10月 18日 (月) 22:30:05 JST


小林 (koichik) です.

Date:    Mon, 18 Oct 2010 17:33:35 +0900
From:    [E-MAIL ADDRESS DELETED]
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:20245]  S2DAO による、SavePoint の使用について

> ・下記のバージョンで、SavePoint を使用するためには、
>  どのような作業を行う必要が有るのでしょうか。

JTA で管理されるグローバルトランザクションでは
SavePoint を使用することはできませんが,
Seasar2 の XADataSourceImpl を使っている場合は
本物のグローバルトランザクションではないため,
SavePoint を使うことができます.

jdbc.dicon で XADataSourceImpl が使われていれば,
以下のようにすることができます.

public DataSource dataSource;

Connection con = ((ConnectionWrapper) dataSource.getConnection()).getPhysicalConnection();
SavePoint savePoint = con.setSavePoint();
...

jdbc.dicon で Oracle の XADataSource を
使っていたり,AP サーバのコネクションプールを
使っている場合は SavePoint を使うことは
(基本的に) できません.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
    <property name="twitter">"http://twitter.com/koichik"</property>
</component>



Seasar-user メーリングリストの案内