[seasar-dotnet:2115] QuillのDAO機能でデータベース接続が取得できない

ASO Katsumi [E-MAIL ADDRESS DELETED]
2011年 12月 6日 (火) 16:53:12 JST


こんにちは、ASOです。

現在、WCF+Oracle(ODP)+S2(Quill)でWCFサービス開発を行っています。
作成したWCFサービスを、IIS上に配置し、
1 初回アクセスは問題無く動作する。
2 サービスのタイムアウトを待つ。
3 再度同じサービスにアクセスする。
という操作を行ったところ、3の段階で
「Seasar.Framework.Container.Factory.ClassNotFoundRuntimeException」例外が発生し、処理が中断されます。
「詳細は "Oracle.DataAccess.Client.OracleConnection"」との事です。
# ログに記録されたStackTraceを文末に掲載します。

この現象を回避するか、あるいは原因を突き止め対策したいと思っており、
情報収集していますが、これといったリソースを見つけられず、MLで相談しようと
考えた次第です。

動作環境は次の通りです。
  Windows Server 2008 R2
  IIS 7.5
  .NET Framework V4
  WCF
  Seasa2.NET 1.4.0 RC2 改 ([seasar-dotnet:2093]で井上さんに教えて頂いた内容です)

  Oracle 11g
  ODP (32bit)
以上。

ログ中の「Aaaaa.Bbbbbb.MainService.MainService」というクラスがServiceContractであり、
Implementation属性を付けてあります。

同じくログ中の「Aaaaa.Bbbbbb.MainService.MainService.Login」というメソッドがOperationContractであり、
Transaction、Aspect(ログ出力インターセプタークラス)という各属性が付いています。

何か、お気付きの事があればお知らせ下さい。
情報の不足がございましたら、ご指導下さい。
情報ポインタをご紹介頂くだけでも結構です。
よろしくお願い致します。

以下、StackTraceです。
2011-12-06 12:14:48,188 ERROR Server-Name request-userid [EXCEPTION] Aaaaa.Bbbbbb.MainService.MainService.Login [ESSR0071]SQLで例外が発生しました。理由はSeasar.Framework.Container.Factory.ClassNotFoundRuntimeException: [ESSR0044]クラスが見つかりませんでした。詳細は "Oracle.DataAccess.Client.OracleConnection"
   at Seasar.Extension.ADO.Impl.DataProviderDataSource.ForName(String name)
   at Seasar.Extension.ADO.Impl.DataProviderDataSource.GetConnection()
   at Seasar.Extension.Tx.Impl.TxDataSource.GetConnection()
   at Seasar.Extension.ADO.Impl.AbstractSelectableDataSourceProxy.GetConnection()
   at Seasar.Framework.Util.DataSourceUtil.GetConnection(IDataSource dataSource)
2011-12-06 12:14:48,188 ERROR Server-Name request-userid [EXCEPTION] Aaaaa.Bbbbbb.MainService.MainService.Login Seasar
2011-12-06 12:14:48,188 ERROR Server-Name request-userid [EXCEPTION] Aaaaa.Bbbbbb.MainService.MainService.Login    at Seasar.Framework.Util.DataSourceUtil.GetConnection(IDataSource dataSource)
   at Seasar.Extension.Tx.Impl.TransactionContext.OpenConnection()
   at Seasar.Extension.Tx.Impl.TransactionContext.Begin()
   at Seasar.Extension.Tx.Impl.LocalRequiredTxHandler.HandleTransaction(IMethodInvocation invocation)
   at Seasar.Extension.Tx.Impl.LocalRequiredTxHandler.Handle(IMethodInvocation invocation, Boolean alreadyInTransaction)
   at Seasar.Extension.Tx.TransactionInterceptor.Invoke(IMethodInvocation invocation)
   at Seasar.Framework.Aop.Impl.DynamicProxyMethodInvocation.Proceed()
   at Aaaaa.Bbbbbb.Server.LogAop.Invoke(IMethodInvocation invocation) in C:\Aaaaa\Source\Aaaaa.Bbbbbb.Server\Aaaaa\LogAop.vb:line 63
   at Seasar.Framework.Aop.Impl.InterceptorAdapter.Intercept(IInvocation invocation)
   at Castle.DynamicProxy.AbstractInvocation.Proceed()
   at Castle.Proxies.LoginFacadeProxy.Execute(RequstParameter req)
   at Aaaaa.Bbbbbb.MainService.MainService.Login(RequstParameter req) in C:\Aaaaa\Source\Aaaaa.Bbbbbb.MainService\Aaaaa\MainService.svc.vb:line 39



seasar-dotnet メーリングリストの案内