[cubby-dev:95] Re: POJOAction 対応の話題

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2009年 6月 24日 (水) 06:49:28 JST


馬場さん、染田さん

鈴木です。

フォローありがとうございます!

>染田さん
> で、調べてみた所を共有してみます。
詳しく調べていただいてありがとうございます。
まずは ReaderEventListener でやってみます(^^;

> どうも、ApplicationContext から、アノテーション付きの
> クラスを引っこ抜くのはそれなりに大変そうに見えますね。
request などの Web アプリケーション用のスコープが指定されていると上手く
取れませんでした。

以下、僕の調べた内容(というより詰まった内容)です。

====

原因をつかめていないのでざっくりになりますが、

・JUnit でテストを行うと「java.lang.IllegalStateException: No Scope
registered for scope 'request' ...」という例外が発生
=> WebApplicationContext ためのようで、自分で request などのスコープを登
録する必要がありそう

・(JUnit ではなく)普通に動かしたときは
「java.lang.IllegalStateException: No thread-bound request found ...」と
いう例外が発生
=> 初期化順序の問題??

====

Takashi SOMEDA さんは書きました:
> 染田です。
> 
>> 鈴木さん、
> 
> 的外れ or 既に調査済みだったらスミマセン。
> どうも、ApplicationContext から、アノテーション付きの
> クラスを引っこ抜くのはそれなりに大変そうに見えますね。
> 
> で、調べてみた所を共有してみます。
> 
> -----
> XmlBeanDefinitionReader に、ReaderEventListener を impl したクラスを
> 設定すると、コンポーネント登録時に、componentRegistered を呼んでくれる。
> => SpringPathResolverProvider をこの実装クラスにし、コンポーネント登録時に
>      PathResolver に add するような感じでいける?
> # ちなみに、ComponentScanBeanDefinitionParser から引っ掛けて行きました。
> 
> XmlBeanDefinitionReader の初期化は、web の場合 ContextLoader で行われます。
> ちなみに、このクラスをサブクラス化して、ContextLoader で指定する方法はあります。
> # 詳細は ContextLoader の javadoc で。。。
> 
> 
> 正直、Listener を使ってコンポーネント登録時に PathResolverProvider の処理を呼び出すと、
> PathResolverProvider 自体の初期化のタイミングと (多分) ずれるので、イマイチかなー、
> と思ったりもしています。
> 
> ただ、コンテナの登録時のフックに仕掛けられるので、component-scan じゃない
> 方法で登録された場合でも、対応出来るメリットもあるかとは思います。
> -----
> 
> と今日の所はここまで調べてみました。
> また、何かわかれば適宜共有しましょー。
> 
> 2009/6/23 Takashi SOMEDA <[E-MAIL ADDRESS DELETED]>:
>>> 困ったことになってるとこがあれば言ってください。
>>> なんかわかるかもしれないので。
>> ですねー。
>> 何かあればシェアしましょうー。
>>
>> 2009/6/23 BABA,Yasuyuki <[E-MAIL ADDRESS DELETED]>:
>>> はーい。
>>> 困ったことになってるとこがあれば言ってください。
>>> なんかわかるかもしれないので。
>>>
>>> suzuki kei さんは書きました:
>>>> 鈴木です。
>>>>
>>>>>> ひとまず、適当なアノテーションがついたクラスで、
>>>>>> Spring に登録されているものを取得する処理の組み込みを
>>>>>> お願いしても良いでしょうか?
>>>>> 了解しました。今週末にでも見ておきますー。
>>>> すんなりできると思ったのですが、ちょっとてこずってます。
>>>> 週末に〜、と言っていたのですがすみません。(^^;
>>>>
>>>> とりあえず現状報告です。
>>>>
>>>> 2009/06/18 6:20 [E-MAIL ADDRESS DELETED] <[E-MAIL ADDRESS DELETED]>:
>>>>> 鈴木です。
>>>>>
>>>>> Seasar Conference に参加された方、おつかれさまでした。
>>>>>
>>>>> >染田さん
>>>>>>> 鈴木さん、
>>>>>> ひとまず、適当なアノテーションがついたクラスで、
>>>>>> Spring に登録されているものを取得する処理の組み込みを
>>>>>> お願いしても良いでしょうか?
>>>>> 了解しました。今週末にでも見ておきますー。
>>>>>
>>>>> Takashi SOMEDA さんは書きました:
>>>>>> 染田です。
>>>>>>
>>>>>> Seasar Conference お疲れ様でしたー。
>>>>>>
>>>>>>> 馬場さん、
>>>>>> ありがとうございました m(_ _)m
>>>>>> しゃべりすぎてすみません。
>>>>>>
>>>>>>> T2 チームの皆様、
>>>>>> よねさんの俳句お借りしました。m(_ _)m
>>>>>> あと、画像もいくつかおかり (拝借 ?!) しました。m(_ _)m
>>>>>> ありがとうございました。勝手にかりてしまいごめんなさい。
>>>>>>
>>>>>> ...
>>>>>>
>>>>>> で、表題の POJOAction の件ですが、馬場さんとは口頭で
>>>>>> アノテーションをクラスにつけて判別しようかという事になりました。
>>>>>>
>>>>>>> 馬場さん、
>>>>>> あれから考えてみたものの、通常補完は使うし、若干長くても
>>>>>> 構わないので、
>>>>>>
>>>>>>   @Actionable
>>>>>>   @ActionClass
>>>>>>   @ActionObject
>>>>>>   @PlainAction
>>>>>>
>>>>>> とかになるのかなぁ、、、と思ってました。
>>>>>> 「Action」 って単語を外すと、なんとなく直感的では
>>>>>> なくなるような気がして。。。
>>>>>> 二単語になると負けたような気がするのですが。。。
>>>>>>
>>>>>>> 鈴木さん、
>>>>>> ひとまず、適当なアノテーションがついたクラスで、
>>>>>> Spring に登録されているものを取得する処理の組み込みを
>>>>>> お願いしても良いでしょうか?
>>>>>>
>>>>>> 対象は SpringPathResolverProvider で pathResolver に
>>>>>> class に add している部分でございます。
>>>>>> また何か疑問あったら聞いてくださいまし。
>>>>>>
>>>>>> 以上です。
>>>> _______________________________________________
>>>> cubby-dev mailing list
>>>> [E-MAIL ADDRESS DELETED]
>>>> https://ml.seasar.org/mailman/listinfo/cubby-dev
>>>
>>> --
>>> BABA,Yasuyuki
>>> [E-MAIL ADDRESS DELETED]
>>> _______________________________________________
>>> cubby-dev mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/cubby-dev
>>>
>>
>>
>> --
>> ======================================
>> 株式会社チョイスタジオ
>> 取締役 CTO 染田貴志
>> mail: [E-MAIL ADDRESS DELETED]
>> www: http://www.choistudio.jp/
>>
>> 〒606-8225
>> 京都市左京区田中門前町46 京美華ビル3F
>> TEL: 075-724-4400
>> ======================================
>>
> 
> 
> 



cubby-dev メーリングリストの案内