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

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2012年 11月 7日 (水) 09:30:05 JST


ひが様。

customizer.diconファイルを確認したところ、以下の箇所を誤ってコメントアウト
していました。

    <initMethod name="addCustomizer">
      <arg>
        <component 
class="org.seasar.framework.container.customizer.AspectCustomizer">
          <initMethod name="addInterceptorName">
            <arg>"j2ee.requiredTx"</arg>
          </initMethod>
          <property name="pointcut">"do.*, initialize, 
prerender"</property>
        </component>
      </arg>
    </initMethod>

コメントアウトを削除したところ、autocommitはoffになりました。

回答ありがとうございました。




YASUO HIGA <higa @ isid.co.jp> 
送信者: seasar-user-bounces @ ml.seasar.org
2012/11/06 13:39
返信の際にはseasar-user @ ml.seasar.org へ
返信してください


宛先
"seasar-user @ ml.seasar.org" <seasar-user @ ml.seasar.org>
cc

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






ひがです。 

トランザクションと連動していれば、自動でautocommitはoffになるはずなので、
まずは、トランザクションの設定を見直してみてください。

差出人: seasar-user-bounces @ ml.seasar.org 
[seasar-user-bounces @ ml.seasar.org] が次の人の代理で送信しました: 
saraki @ pacific-systems.co.jp [saraki @ pacific-systems.co.jp]
送信日時: 2012年11月6日 11:45
宛先: seasar-user @ ml.seasar.org
件名: [Seasar-user:21491] jdbc.diconにおけるPostgreSQLのautoCommit設定につ
いて


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

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 (); 
        } 

以上、宜しくお願い致します。
_______________________________________________
Seasar-user mailing list
Seasar-user @ ml.seasar.org
https://ml.seasar.org/mailman/listinfo/seasar-user

-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20121107/b620738d/attachment.html>


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