[seasar-dotnet:331] [Seasar]TransactionContextのIsolationLevelの指定方法
kubo
jazzflute @ mbn.nifty.com
2006年 9月 5日 (火) 15:18:13 JST
久保です。
TransactionContextのIsolationLevelの指定方法について
http://s2container.net.seasar.org/ja/db.html
を見ると、
/nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
<!-- ローカルトランザクション用のインターセプターで使用します -->
<component name="TransactionContext" class="Seasar.Extension.Tx.Impl.TransactionContext">
<property name="IsolationLevel">System.Data.IsolationLevel.ReadCommitted</property>
</component>
nnnnnnnnnnnn/
とありますが、
実際のTransactionContextのソースを見てみると、
/nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
public IsolationLevel Level
{
get
{
return this.level;
}
set
{
this.level = value;
}
}
nnnnnnnnnnnn/
となっています。
よって、<property name="IsolationLevel">だと、何を設定してもデフォルトの
ReadCommittedになってしまうような気がします。
/nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
{
logger.Debug("Level: SetValue() - value=" + value);
this.level = value;
}
nnnnnnnnnnnn/
と言う風に、ログを出すようにしてみて、
<property name="IsolationLevel">
と
<property name="Level">
で実行したら、
<property name="Level">
だけでログが出力されました。
これは、SiteのDocumentを直すかSourceを直すかしないといけないような
気がします。
(結構、みんなCopyして使っているのでSourceを直す方が影響が
少ないでしょうか???)
#
# SQLServer2005のSnapshot(読み取り一貫性)を利用しようとして
# 気付いた次第です。
#
--
kubo <jazzflute @ mbn.nifty.com>
seasar-dotnet メーリングリストの案内