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

Sohei Fukumura [E-MAIL ADDRESS DELETED]
2010年 4月 22日 (木) 15:10:52 JST


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

久保様ありがとうございます。
お送りいただいた資料をベースに確認してみます。
Quill は、DynamicProxyみたいですので確かに不思議ですね。
また、何か分りましたら報告させていただきます。

補足ですが、WindowsXPの方でも、Seasar.DynamicProxyを外しましたが
問題なく動作させることができました。
ネットで調べるなどして、RealProxyでも問題なさそうなら
このままSeasar.DynamicProxyを外して作成使用と思います。

色々とご助言をいただきましてありがとうございました。

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


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

久保(jflute)です。

http://s2container.net.seasar.org/ja/aop-summary.html#Seasar.DynamicProxy
http://s2container.net.seasar.org/ja/setup.html#Seasar.DynamicProxy

この辺が参考になりそうですね。
Seasar.DynamicProxyを外したということは、
RealProxyを使ってるってことになるので、
RealProxyだと(そちらの環境のWin7で)動作する、
って話になるかもですね。

でも、Quill は、DynamicProxyなので...ふむぅ
http://s2container.net.seasar.org/ja/dicontainer.html

2010/4/22 Sohei Fukumura <[E-MAIL ADDRESS DELETED]>:
> いつもお世話になっております。
>
>>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 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 メーリングリストの案内