[Seasar-user:15493] Re: Isolation Levelについて

陳捷 [E-MAIL ADDRESS DELETED]
2008年 8月 25日 (月) 09:38:29 JST


陳捷です。

久保さん

ご回答ありがとうございました。こちらからダウンロードして試しておきます。

以上。よろしくお願いいたします。


2008/08/23 14:11 kubo <[E-MAIL ADDRESS DELETED]>:
> 久保です。
>
> 陳捷さん
>
> dbflute-db2-exampleをご覧頂くことは可能でしょうか?
>
> https://www.seasar.org/svn/sandbox/dbflute/trunk/dbflute-db2-example
> SVNからチェックアウトすることが可能です。
>
> そのプロジェクトのテストケースVendorCheckTestをご覧下さい。
> https://www.seasar.org/svn/sandbox/dbflute/trunk/dbflute-db2-example/src/test/java/com/example/dbflute/db2/dbflute/various/VendorCheckTest.java
>
> /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> // ## Arrange ##
> VendorCheckCB cb = new VendorCheckCB();
> cb.lockWithRS();
>
> // ## Act ##
> vendorCheckBhv.selectList(cb);// Expect no exception!
>
> // ## Assert ##
> assertTrue(cb.toDisplaySql().contains("with RS"));
> * * * * * * * * * */
>
> というように、「cb.lockWithRS();」という形で指定
> できるようにしています。SQLの最後に「with RS」が
> 付与されます。その他(RR, CS, UR)についても同様です。
>
> こちら、ビルドプロパティ(build-xxx.properties)に
> 「torque.isAvailableDatabaseDependency = true」
> を追加して自動生成し直すことで有効になります。
> https://www.seasar.org/svn/sandbox/dbflute/trunk/dbflute-db2-example/dbflute_exampledb/build-exampledb.properties
>
> DBFluteは、極力DB依存のメソッドは生成しない
> ポリシーだったので、今回オプションという形で
> 生成することにしました。
>
> この機能が反映されたバージョン(SNAPSHOT)がこちら
> からダウンロードできます。
> http://dbflute.sandbox.seasar.org/download/dbflute/dbflute-0.7.9.zip
> SNAPSHOTになりますので、正式版がリリースされたら
> 差し替えるようにして下さい。
>
> 2008/8/22 陳捷 <[E-MAIL ADDRESS DELETED]>:
>> 小林さん
>>
>> ご回答ありがとうございました。陳捷です。
>>
>> 試しておきます。
>>
>> 2008/08/22 15:15 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
>>> 小林 (koichik) です.
>>>
>>> Date:    Fri, 22 Aug 2008 13:56:56 +0900
>>> From:    "陳捷" <[E-MAIL ADDRESS DELETED]>
>>> To:      [E-MAIL ADDRESS DELETED]
>>> Subject: [Seasar-user:15459] Isolation Levelについて
>>>
>>>> DB2では、分離レベルは4つあります:RR、RS、CS、UR。
>>>>
>>>> DB2の分離レベルを使用したい場合は、DB2のDialectを使うべきだと思います。
>>>
>>> コネクションレベルで分離レベルを設定する場合は,
>>> JDBC APIで設定できるので Dialect を意識する必要は
>>> ありません.
>>>
>>> Connection#setTransactionIsolation(int)
>>>
>>> DB2 の分離レベルと JDBC (ANSI/ISO SQL 標準) との
>>> 対応は以下のとおりです.
>>>
>>> UR : Connection#TRANSACTION_READ_UNCOMMITTED
>>> CS : Connection#TRANSACTION_READ_COMMITTED
>>> RS : Connection#TRANSACTION_REPEATABLE_READ
>>> RR : Connection#TRANSACTION_SERIALIZABLE
>>>
>>>
>>> コネクションプール全体で分離レベルを設定するには
>>> jdbc.dicon で次のように設定します.
>>>
>>> <component name="connectionPool"
>>>    class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
>>>  <property name="transactionIsolationLevel">
>>>    @[E-MAIL ADDRESS DELETED]
>>>  </property>
>>>  ...
>>>
>>>
>>> コネクションごとに個別に設定するなら,DataSource から
>>> getConnection() でコネクションを取得して
>>> Connection#setTransactionIsolation(int) で
>>> 設定してください.
>>> その場合,上記の方法でコネクションプールに
>>> デフォルトの分離レベルを設定してください.
>>> コネクションプールからコネクションを取得する度,
>>> デフォルトの分離レベルが設定されます.
>>>
>>>
>>> --
>>> <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>
>>> </component>
>>>
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


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