[seasar-dotnet:1669] Re: 2Container.NET、S2Dao.NET(Windows7)調査状況

kubo [E-MAIL ADDRESS DELETED]
2010年 5月 10日 (月) 17:27:49 JST


久保(jflute)です。

> 試しに、Logicクラスに、
> A. traceInterceptor だけを適用
> B. requiredTx だけを適用
> して、もう一度試してみて下さい。

C. traceInterceptor だけ適用で pointcut を付ける
D. requiredTx だけ適用で pointcut を付けない

も、試してみて下さい。
(pointcutの有無が影響するかどうかの確認)

2010/5/10 kubo <[E-MAIL ADDRESS DELETED]>:
> 久保(jflute)です。
>
>> はい。Win7 で DynamicProxy を利用した環境でも、
>> 検索してデータを実際に取得できました。
>
> なるほど、すると、Daoインターフェースのエンハンス自体は
> うまくいっていて、Logicクラスのエンハンスがうまく
> いっていないってことになりますね。
> (もともとDaoの生成がうまくいかないって話になっていた
> と思いますが、Logicの生成がうまくいかないって話になるのかと)
>
> 試しに、Logicクラスに、
> A. traceInterceptor だけを適用
> B. requiredTx だけを適用
> して、もう一度試してみて下さい。
> これで、Interceptorの違いが影響するのか
> どうか(の可能性)が確認できます。
>
>> Win7 で DynamicProxy を利用できていないが、
>> IKojinDaoを経由してDBアクセスを実行することができた。
>> ということになるのでしょうか。
> IKojinDaoでは、DynamicProxyを使っているので、
> 微妙にこの表現は違います。
> ("Win7 で DynamicProxy を利用できていないが" の部分)
>
> Logic -- DynamicProxyを使ってない (AOPを外した)
> Dao -- DynamicProxyを使っている (そもそもAOPが必須)
>
> Win7 + DynamicProxyで、AOP利用の可否が、
> 「DaoだとOKだが、LogicだとNG」
> という状況がとりあえず判明したって感じですね。
>
> 2010/5/10 Sohei Fukumura <[E-MAIL ADDRESS DELETED]>:
>> お世話になっております。
>> Sfukuです。
>> 久保(jflute)様、返信ありがとうございます。
>>
>>>KojinLogicImplからaspect属性を全て排除したら、
>>>Win7 で DynamicProxy を利用した環境でも、
>>> (IKojinDaoを経由して)DBアクセスを実行することが
>>>できた(例えば、検索してデータを実際に取得できた)、
>>>ということでしょうか?
>> はい。Win7 で DynamicProxy を利用した環境でも、
>> 検索してデータを実際に取得できました。
>>
>>>KojinLogicからaspect属性を全て排除したということは、
>>>KojinLogic には AOP が掛からない、とということです。
>>>なので、"DynamicProxyではない" というか、
>>>"そもそもこのクラスに対して Proxy を適用しない"
>>>という解釈
>> という事ですので、
>> Win7 で DynamicProxy を利用できていないが、
>> IKojinDaoを経由してDBアクセスを実行することができた。
>> ということになるのでしょうか。
>>
>>
>> 以上、よろしくお願い致します。
>>
>> -----Original Message-----
>> From: [E-MAIL ADDRESS DELETED]
>> [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of kubo
>> Sent: Monday, May 10, 2010 4:30 PM
>> To: [E-MAIL ADDRESS DELETED]
>> Subject: [seasar-dotnet:1665] Re:2Container.NET、S2Dao.NET(Windows7)調査状況
>>
>> 久保(jflute)です。
>>
>> Sfukuさん、こんにちは
>>
>>> 1『traceInterceptor』や『RequiredTx』の使い方が悪いため、
>>> 『traceInterceptor』や『RequiredTx』をaspectするとエラーが発生するのでしょ
>>> うか。
>>>
>>> 2『traceInterceptor』はトレースを出力のため問題ない気がしますが、
>>> 『RequiredTx』はTransactionを織り込んでいるため、
>>> 『RequiredTx』をaspectしない場合、機能によっては問題が発生する可能性があ
>>> る。
>> ※丸付き数字を普通の数字に変えました。
>>
>> <1>
>> Win7限定でエラーが出る原因がそもそも
>> わかってないので、こういう質問をされても
>> やっぱり、わからない、としか言いようがありません。
>> ただ、Win7でなければちゃんと動いているので(そうなんですよね?)、
>> 少なくとも使い方が悪いからっていうのは想像しにくいですね。
>>
>> <2>
>> "機能によっては問題が発生する可能性がある"  かどうかは、
>> アプリでの要件次第かと。ただ、通常はトランザクションなし
>> でDBアクセスするというのは業務的に問題があることが
>> 多いとは思われます。
>>
>>> そもそも<aspect>を全て排除したということは
>>> Dynamicproxsyではないということでしょうか。
>> KojinLogicからaspect属性を全て排除したということは、
>> KojinLogic には AOP が掛からない、とということです。
>> なので、"DynamicProxyではない" というか、
>> "そもそもこのクラスに対して Proxy を適用しない"
>> という解釈になります。
>>
>>> 次の記載に修正すると、DynamicProxsyでも動作する。
>>>  <component class="Info.Logic.Impl.KojinLogicImpl" >
>>>  </component>
>>> ・・・
>> ここちょっと大事ですね。
>> 状況を詳しく確認させて下さい。
>>
>> KojinLogicImplからaspect属性を全て排除したら、
>> Win7 で DynamicProxy を利用した環境でも、
>> (IKojinDaoを経由して)DBアクセスを実行することが
>> できた(例えば、検索してデータを実際に取得できた)、
>> ということでしょうか?
>> _______________________________________________
>> 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 メーリングリストの案内