[Seasar-user:21491] jdbc.diconにおけるPostgreSQLのautoCommit設定について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2012年 11月 6日 (火) 11:45:37 JST


はじめまして。荒木と申します。

PostgreSQL + S2Dao + Teedaの開発をしています。

動作環境
jdk1.6.0_34
tomcat-6.0.35
eclipse3.4.2
Teeda 1.0.12
S2Dao 1.0.47
PostgreSQL 9.1.5

jdbc.diconで以下の通りautoCommitを無効にしているのですが、update文などが実
行されても自動的にコミットされてしまいます。

        <component name="xaDataSource"
                class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
                <property name="driverClassName">
                        "org.postgresql.Driver"
                </property>
                <property name="URL">
                        "jdbc:postgresql://PORTAL_IFRS_IT_DB/test"
                </property>
                <property name="user">"test"</property>
                <property name="password">"test"</property>
                <initMethod name="addProperty">
                        <arg>"autoCommit"</arg>
                        <arg>"false"</arg>
                </initMethod>
        </component>

jdbc.diconでautoCommitを無効にするにはどうしたらよいのでしょうか。

なお、S2Dao+jdbc.diconではなく、以下の通りsetAutoCommitメソッドを 明示的に
記述するとautoCommitが無効になりました。

        try {
            // JDBCドライバの登録
            String driver = "org.postgresql.Driver";
            // データベースの指定
            String url = "jdbc:postgresql://PORTAL_IFRS_IT_DB/test";
            String user     = "test";         //データベース作成ユーザ名
            String password = "test";     //データベース作成ユーザパスワー
ド
            Class.forName (driver);
            // データベースとの接続
            Connection con = DriverManager.getConnection(url, user, 
password);
            con.setAutoCommit (false);
            Statement stmt = con.createStatement ();
            String sql = "UPDATE m_kanri_kengen SET update_dt = now() 
WHERE kanri_kengen_cd = 'G110'";
            stmt.executeUpdate(sql);
            stmt.close();
            con.close();
        } catch (SQLException e) {
            System.err.println("SQL failed.");
            e.printStackTrace ();
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace ();
        }

以上、宜しくお願い致します。
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20121106/bedd4036/attachment.html>


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