[seasar-dotnet:2121] Quill でトランザクションが開始できません
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2011年 12月 13日 (火) 18:14:54 JST
上村と申します。
Quillでのトランザクションについて質問です。
以前、同様の質問を致しましたが
不躾に添付ファイルを送ってしまい
申し訳ありませんでした。
こういったメーリングリストは
初めてなのでサンプルがあった方が
分かりやすいかと思ったのですが
大変、失礼致しました。
質問内容ですが
http://s2container.net.seasar.org/ja/quill.html#nodicon_tx
やExamplesを参考にコードを作成しましたが
トランザクションが開始されず
エラーが発生してもロールバックされません。
以下、コードの一部を記述します
-----------------------------------------------------------
<Implementation(GetType(TestLogicImpl))> _
Public Interface ITestLogic
<Transaction()> _
Function Delete() As Integer
End Interface
Public Class TestLogicImpl
Implements ITestLogic
Protected _dao As ITestDao
<Transaction()> _
Public Overridable Function Delete() As Integer _
Implements ITestLogic.Delete
Return _dao.Delete()
End Function
End Class
[App.config]
<quill>
<dataSources>
<dataSource name="ds">
<provider>ODP</provider>
<connectionString>"User Id=Test; Password=Test; Data Source=Test"</connectionString>
<class>Seasar.Extension.Tx.Impl.TxDataSource</class>
</dataSource>
</dataSources>
<assemblys>
<assembly>Seasar</assembly>
<assembly>Seasar.Windows</assembly>
<assembly>Seasar.DynamicProxy</assembly>
<assembly>Seasar.Dao</assembly>
<assembly>Oracle.DataAccess, version=1.102.5.0, Culture=neutral, PublicKeyToken=89b483f429c47342</assembly>
</assemblys>
</quill>
-----------------------------------------------------------
「<Transaction()> _」をクラス側のメソッドに記述したところ
Daoのインスタンスが作成されなくなり
System.NullReferenceExceptionが発生するようになりました。
そこでインタフェース側に記述したところ
エラーは発生しなくなりましたが、トランザクションは開始されておらず
トランザクション開始というログも出力されておりません。
クラス側にImplementationを記述してみたり
Quillやトランザクションでいろいろ検索してみましたが
解決には至りませんでした。
トランザクションを記述する際に
注意する点があればご指導頂けないでしょうか。
環境は次のとおりです。
OS:Windows 7(SP1)
開発言語:VB(.NET Framework 4.0)
開発環境:VisualStudio2010
DB:Oracle 10.2.0.5.0
S2Container.net:1.4.0.0
皆様お忙しい中、お手数をお掛け致しますが
何か情報があればご教示ください。
seasar-dotnet メーリングリストの案内