[seasar-dotnet:1658] Re: S2Container.NET、S2Dao.NET(Windows7)について2

Sohei Fukumura [E-MAIL ADDRESS DELETED]
2010年 4月 22日 (木) 14:27:16 JST


いつもお世話になっております。

>S2Dao.NETのDaoを利用して検索することができたのか 
proxyに依存しない箇所というのは私の思い違いでまったく関係ありませんでした。S2Dao.NETのDaoを利用してシステム全体で動作することを確認できました。

あと気になるのはSeasar.DynamicProxyで行っている処理内容ですが、
動的なproxy(今回で言うとデータアクセスオブジェクト)を
作成しているのかと思いますが、Seasar.DynamicProxyを利用しなくても
S2Dao.NETのDaoを利用できたということは、
①Proxy自体は生成できているのかと考えておりますが、これは誤りでしょうか?

②また、Seasar.DynamicProxyを使用していない場合は、
 Proxyが生成されていても動的ではないということでしょうか?

あとは、久保様の仰る通りSeasarを切り離して考えていくのがベストですね。

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

-----Original Message-----
From: [E-MAIL ADDRESS DELETED] [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of kubo
Sent: Thursday, April 22, 2010 1:37 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [seasar-dotnet:1657] Re:S2Container.NET、S2Dao.NET(Windows7)について2

久保(jflute)です。

> Daoの作成" とは、実行時にDaoインターフェースを作成することが
> できましたので、proxyに依存しない箇所は生成することができました。
すいません、もうちょっと詳しくお願いします。
これは、S2Dao.NETのDaoを利用して検索(など)することが
できたということでしょうか???
また、proxyに依存しない箇所っての具体的にどういう箇所でしょうか?

> Seasar.DynamicProxyとCastle.DynamicProxy
> を利用する小さなプログラムを作成してWindows7で
> 動かして解析するのがベストかもしれません。
そうですね。ドキュメント等でも書いている通り、
Quillを推奨していますので、S2Container.NETを
利用した場合でWindows7での環境というと、
実例があまり出てこないかもしれません。
(DBFlute.NETもQuill限定ですので)
なので、Seasarを一旦切り離して検証できるようにして、
細かい要因が分かった段階でまだSeasarに置き換える
ようにしていった方が良いかもしれません。

> 分かり難くて申し訳ございませんが、
> Diconファイルの記載内容は下記のようになります。
> もし、下記で欠けている設定情報等がございましたらお教えいただけますでしょう
> か。
この件は、
http://d.hatena.ne.jp/jflute/20081215/1229321164
の通りで、申し訳ありませんが「雰囲気としては良さそう」
ぐらいしかぱっとコメントできないです。
とはいえ、JavaのS2Containerはよく使っているので、
Daoの登録の部分は(雰囲気)良さそうですが...
それに、WinXPやVistaで動いてるなら、diconの設定
による影響はちょっと考えにくいという感じです。

2010/4/21 Sohei Fukumura <[E-MAIL ADDRESS DELETED]>:
>
> いつもお世話になっております。
>
> 皆様のご助言を踏まえて確認した結果、
> 判明したことをご報告いたします。
>
> 試しにSeasar.DynamicProxy.dllへの依存を消去しました。
> [結果]
> Daoの作成" とは、実行時にDaoインターフェースを作成することが
> できましたので、proxyに依存しない箇所は生成することができました。
>
> やはり、キーはSeasar.DynamicProxyとCastle.DynamicProxyの
> 関係性かもしれません。(推測で申し訳ございませんが...)
>
> 久保様のご助言通り、
> Seasar.DynamicProxyとCastle.DynamicProxy
> を利用する小さなプログラムを作成してWindows7で
> 動かして解析するのがベストかもしれません。
>
>
> ※ソース(Diconファイル)について※
> 分かり難くて申し訳ございませんが、
> Diconファイルの記載内容は下記のようになります。
> もし、下記で欠けている設定情報等がございましたらお教えいただけますでしょう
> か。
> XpやVistaで動作しているので、ロジック実装クラス等が悪さをしている可能性は
> 低いため今回は除外いたしました。
>
> [App.dicon] ファイル
> <components>
>  <include path="Info /Dicon/Logic.dicon"/>
> </components>
>
> [Logic.dicon] ファイル
>  <include path="Info/Dicon/Dao.dicon"/>
>  <component class="Seasar.Framework.Aop.Impl.DynamicAopProxyAspectWeaver"
> />
>  <component name="traceInterceptor"
> class="Seasar.Framework.Aop.Interceptors.TraceInterceptor"/>
>
>  <!-- 画面遷移用ディスパッチャー -->
>  <component name="FormInterceptorr" class="Seasar.Windows.AOP.Interceptors.
> FormInterceptor" />
>
>  <!-- Logicの登録 -->
>  <component class="Info.Logic.Impl.KojinLogicImpl" >
>    <aspect>traceInterceptor</aspect>
>    <aspect pointcut=".*">RequiredTx</aspect>
>  </component>
>>
> [Dao.dicon]ファイル
>  <include path="Info/Dicon/Tx.dicon"/>
>
>  <!-- S2Dao.NETのDaoInterceptorとそれに必要なコンポーネント -->
>  <component class="Seasar.Extension.ADO.Impl.BasicDataReaderFactory" />
>  <component class="Seasar.Extension.ADO.Impl.BasicCommandFactory" />
>  <component class="Seasar.Dao.Impl.FieldAnnotationReaderFactory" />
>  <component class="Seasar.Dao.Impl.DaoMetaDataFactoryImpl" />
>  <component name="DaoInterceptor"
>      class="Seasar.Dao.Interceptors.S2DaoInterceptor"/>
>
>  <!-- Daoの登録 -->
>  <component class="Info.Dao.IKojinDao">
>    <aspect>DaoInterceptor</aspect>
>  </component>
>>
> [Tx.dicon]ファイル
> <include path="Info/Dicon/Ado.dicon"/>
>
>  <!-- データソース -->
>  <component name="SqlDataSource"
> class="Seasar.Extension.Tx.Impl.TxDataSource">
>    <property name="DataProvider">OleDb</property>
>    <property name="ConnectionString">"*********"</property>
>  </component>
>
>  <!-- ローカルトランザクション用のインターセプターで使用します -->
>  <component name="TransactionContext"
>      class="Seasar.Extension.Tx.Impl.TransactionContext">
>    <property name="IsolationLevel">
>      System.Data.IsolationLevel.ReadCommitted
>    </property>
>  </component>
>  <component name="RequiredTx"
> class="Seasar.Extension.Tx.TransactionInterceptor">
>    <arg>
>      <component class="Seasar.Extension.Tx.Impl.LocalRequiredTxHandler" />
>    </arg>
>    <property name="TransactionStateHandler">TransactionContext</property>
>  </component>
>
> [Ado.dicon]ファイル
>  <!-- データプロバイダ(OLEDB(MDB)) -->
>  <component name="OleDb" class="Seasar.Extension.ADO.DataProvider">
>    <property
> name="ConnectionType">"System.Data.OleDb.OleDbConnection"</property>
>    <property name="CommandType">"System.Data.OleDb.OleDbCommand"</property>
>    <property
> name="ParameterType">"System.Data.OleDb.OleDbParameter"</property>
>    <property
> name="DataAdapterType">"System.Data.OleDb.OleDbDataAdapter"</property>
>  </component>
>
>
> 以上、よろしくお願い致します。
>
>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
_______________________________________________
seasar-dotnet mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/seasar-dotnet


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