[seasar-dotnet:2168] Re: S2Unit.NETを利用したテスト実行時にデータベースコネクションが正しくクローズされていない
kotani.k
[E-MAIL ADDRESS DELETED]
2012年 6月 18日 (月) 07:18:54 JST
タマダさん
小谷です。
ご確認ありがとうございます。
次回リリース時に今回の修正を反映致します。
また何かありましたら、ご連絡よろしくお願い致します。
2012年6月16日 13:27 Masayuki TAMADA <masayuki.tamada @ gmail.com>:
> 小谷さん
>
> タマダです。
> 返信がおそくなってごめんなさい。
>
> 修正について確認致しました。
> 想定通りになっており、問題ありませんでした。
>
> 尚、こちらのテスト環境では報告以前からGallio v3.3.1に差し替えて作業していましたので、
> そちらで確認は実施しています。
>
> .NET4 での S2Containerの動作保証については理解しております。
> それを理解した上で調査作業を行っています。
> こちらで確認出来たS2Containerの問題や課題があった場合は、別途連絡差し上げます。
>
> お手数をお掛けいたしました。
>
> On Mon, 11 Jun 2012 00:25:35 +0900
> "kotani.k" <keikotani926 @ gmail.com> wrote:
>
> # タマダさん
> #
> # 小谷です。
> #
> # ご指摘の件、修正しました。
> # _transactionContext.Connectionのクローズ処理をQuillTestCaseRunner, S2TestCaseRunnerの
> # 親クラスであるS2TestCaseRunnerBaseのTearDownDataSourceメソッドで行うようにしています。
> # お手数ですが、最新のソースコードをsubversionで取得し、ご確認いただけないでしょうか。
> #
> # (もしGallio v3.1 Build397でテストプロジェクトが読み込めない場合は
> # Gallio.dll, MbUnit.dllとテスト実行環境をGallio v3.3.1に変更してご確認下さい)
> #
> # また、.NET4.0対応版のSeasar.NET(v1.4.0〜)は現在、S2Containerの動作保証ができておらず、
> # 現時点では正式な対応はもう一つのコンテナであるQuillのみとなっています。
> # S2Containerの方の正式対応がいつになるかは、未定の状態です。
> # 可能な限り対応は行いたいと思いますが、ご了承いただけたらと思います。
> #
> # 以上です。
> #
> # 2012年6月8日 8:22 Masayuki TAMADA <masayuki.tamada @ gmail.com>:
> # > 小谷さん
> # >
> # > タマダです。
> # >
> # > 仰るとおり、DIコンテナはS2Container、テスト属性はS2属性を利用しています。
> # > 尚、AOPではSeasar.DynamicProxyを利用していません。
> # >
> # > お忙しいところお手数ですが確認宜しくお願いします。
> # >
> # > On Fri, 8 Jun 2012 06:49:45 +0900
> # > "kotani.k" <keikotani926 @ gmail.com> wrote:
> # >
> # > # タマダさん
> # > #
> # > # 小谷です。
> # > #
> # > # ご指摘いただき、ありがとうございます。
> # > #
> # > # DIコンテナはQuillではなくS2Containerをご利用になっており、
> # > # テスト属性はQuill属性ではなくS2属性をご利用になっている、という認識でよろしいでしょうか?
> # > #
> # > # ソースコード上はご指摘の通りであることを確認しました。
> # > # 仕事中は対応できない環境のため、今夜にでも動作を確認してみます。
> # > #
> # > # 以上です。
> # > #
> # > # 2012年6月7日 12:19 Masayuki TAMADA <masayuki.tamada @ gmail.com>:
> # > # > タマダです。
> # > # >
> # > # > 現在、過去に.NET Framework 2.0 環境で作成したプログラムを .NET Framework 4.0 環境で
> # > # > 動作させるための調査を行っています。
> # > # >
> # > # > 動作環境は以下の通りです。
> # > # >
> # > # > 【.NET Framework 2.0 環境】
> # > # > ・S2Container.NET 1.3.17
> # > # > ・ODP.NET 10.2
> # > # >
> # > # > 【.NET Framework 4.0 環境】
> # > # > ・S2Container.NET 1.4 RC2
> # > # > ・ODP.NET 11.2
> # > # >
> # > # > S2Unit.NETを利用してテスト作成してあるため、動作確認はこれを利用して実施しています。
> # > # > S2Dao.NETを利用したテストプロジェクトの動作確認中にデータベースコネクションが開けなく現象が
> # > # > 発生してしまいました。
> # > # >
> # > # > 但し、個々のTestFixtureを実行させた場合、この現象は発生しません。
> # > # > このプロジェクトでは、多数のTestCase, TestFixtureが存在しています。
> # > # > そのため、CONTAINERNET-146 の問題と同様かと考えて調査をおこなってみました。
> # > # >
> # > # > Revision 1260 でコミットされた S2TestCaseRunnerBase.cs
> # > # > にはコードの変更が行われていませんが(ここの意図は理解出来ませんが)、
> # > # > QuillTestCaseRunner.cs の変更内容を見ると、TearDownDataSourceメソッド内で
> # > # > _transactionContext が存在有無により
> # > # > _transactionContext が保持しているデータベースコネクションのクローズ処理を行う様にされています。
> # > # >
> # > # > しかし、これと同様の処理がS2TestCaseRunnerに存在しないのが気になり、S2TestCaseRunnerBase の
> # > # > TearDownDataSourceメソッドの
> # > # > 挙動を確認してみました。
> # > # > 結論だけ書くと、TearDownDataSourceメソッド終了時、_transactionContext.Connection はオープンしたままであるため、
> # > # > 上記の場合問題が発生している様です。
> # > # >
> # > # > そこで、QuillTestCaseRunnerと同様にS2TestCaseRunner に
> # > # > TearDownDataSourceメソッドを以下の様に追加し、再度テストを行い、
> # > # > TearDownDataSourceメソッド終了時、_transactionContext.Connection
> # > # > はクローズされ問題が発生しないことを確認しました。
> # > # >
> # > # > protected override void TearDownDataSource(object fixtureInstance)
> # > # > {
> # > # > if (_dataSource != null && _transactionContext != null)
> # > # > {
> # > # > _dataSource.CloseConnection(_transactionContext.Connection);
> # > # > }
> # > # > base.TearDownDataSource(fixtureInstance);
> # > # > }
> # > # >
> # > # > この点について確認頂けると有り難いです。
> # > # > _______________________________________________
> # > # > seasar-dotnet mailing list
> # > # > seasar-dotnet @ ml.seasar.org
> # > # > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> # > # _______________________________________________
> # > # seasar-dotnet mailing list
> # > # seasar-dotnet @ ml.seasar.org
> # > # https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> # >
> # >
> # > _______________________________________________
> # > seasar-dotnet mailing list
> # > seasar-dotnet @ ml.seasar.org
> # > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> # _______________________________________________
> # seasar-dotnet mailing list
> # seasar-dotnet @ ml.seasar.org
> # https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
seasar-dotnet メーリングリストの案内