[Seasar-user:21296] Re: インスタンスのSCOPEに関して
鈴木 順
[E-MAIL ADDRESS DELETED]
2012年 3月 24日 (土) 23:46:59 JST
小林さん
お世話になっております。鈴木です。
Singleton
Prototype
Request(★今回キャッシュの機構をいれたいObject)
と言う風になっている場合に
自分でデバッグしてみた感じですと、
> そのSingletonのものが使われるたびに、
> XXXLogicはsetしなおされるもののでしょうか?
しなおされないようです。
> requestと言うプロパティを定義しておくと、自動的に
> requestがセットされると思うのですが、
> このrequest自体は、毎回その時のRequestがセットされるでしょうか?
こちらもダメでした。
自動でrequestをセットする以外に、
今のリクエストのHttpServletRequestを取得する方法などありませんでしょうか?
S2Containerにアクセスする形式などでもかまいません。
以上 宜しくお願いします
On Sat, 24 Mar 2012 19:39:28 +0900
鈴木 順 <[E-MAIL ADDRESS DELETED]> wrote:
>
> 小林さん
>
> お世話になっております。鈴木です。
>
> 調査をしてみて、分かった点がありますので、以下ご教授下さい。
> そのRequestでnewされたものが使われる場合と、使われない場合で、
> 呼んでいるルートが違いました、
>
> > 問題のObjectはinstance="request"でapp.diconに定義されいる。(定数アノテーションは削除)
>
> の問題のObjectは処理としてはすごい末端でして、
> XXXLogicからしか呼ばれないのですが、
> XXXLogicはいたるところから呼ばれます。
> XXXLogic自体は、LogicなのでProtoTypeだと思うんですけど、
> XXXLogicを読んでいるもの自身が例えばSingletonだったりする場合に、
> そのSingletonのものが使われるたびに、
> XXXLogicはsetしなおされるもののでしょうか?
>
> 私は単純に、instance="request"としておけば、
> リクエスト毎にnewされ、そのリクエスト内で
> 様々な呼び出しルートで呼ばれても、画一のものになると
> 考えてしまっているのですが、この部分の正しい仕様をご教授下さい。
>
> 仮に上記が私の誤りであった際には、以下の点もご教授下さい。
> requestと言うプロパティを定義しておくと、自動的に
> requestがセットされると思うのですが、
> このrequest自体は、毎回その時のRequestがセットされるでしょうか?
>
> 以上 申し訳ありませんが、ご教授下さい。
>
>
>
>
> On Thu, 22 Mar 2012 16:22:35 +0900
> 鈴木 順 <[E-MAIL ADDRESS DELETED]> wrote:
>
> >
> > 小林さん
> >
> > お世話になっております。鈴木です。
> >
> > > 定数アノテーションを削除し、app.diconのみの記述とし、実行してみます。
> >
> > 事象の方は、改善されませんでした。
> >
> > 現状整理すると、
> > 問題のObjectはinstance="request"でapp.diconに定義されいる。(定数アノテーションは削除)
> > 問題のObjectを利用するObjectはSMART_DEPLOYでS2に登録される、XXXXLogic
> > 問題のObjectのコンストラクタにログを仕込んだ所、S2init時と、リクエスト発生時に呼ばれている
> > 問題のObjectの実処理にログを仕込んでHashCodeを出力した所、3回に1度程度、S2init時に生成されている物が使われている
> >
> > と言う事になります。
> >
> > 申し訳ありませんが、調査にご協力の程宜しくお願いいたします。
> >
> > 以上
> >
> >
> > On Thu, 22 Mar 2012 14:53:50 +0900
> > 鈴木 順 <[E-MAIL ADDRESS DELETED]> wrote:
> >
> > >
> > > 小林さん
> > >
> > > お世話になっております。鈴木です。
> > >
> > > > 定数アノテーションを記述したコンポーネントは SMART deploy で
> > > > 自動登録されるコンポーネントですか?
> > > > それとも dicon に明示的に記述していますか?
> > > >
> > > > もし後者なら,dicon で instance="request" を明記すると
> > > > どうなりますか?
> > >
> > > app.dicon に明示的に記述しております。
> > > また、今確認したら、定数アノテーションでも指定してあるのですが、
> > > app.dicon で instance="request" が明記されている状態でした。
> > >
> > > 定数アノテーションを削除し、app.diconのみの記述とし、実行してみます。
> > >
> > >
> > > On Thu, 22 Mar 2012 02:00:22 +0900
> > > Koichi Kobayashi <[E-MAIL ADDRESS DELETED]> wrote:
> > >
> > > > 小林 (koichik) です.
> > > >
> > > > 定数アノテーションを記述したコンポーネントは SMART deploy で
> > > > 自動登録されるコンポーネントですか?
> > > > それとも dicon に明示的に記述していますか?
> > > >
> > > > もし後者なら,dicon で instance="request" を明記すると
> > > > どうなりますか?
> > > >
> > > > On Wed, 21 Mar 2012 23:42:03 +0900, 鈴木 順 <[E-MAIL ADDRESS DELETED]> wrote:
> > > >
> > > > >
> > > > > お世話になっております。鈴木です。
> > > > >
> > > > > とある事象に悩んでおりますので、相談させてください。
> > > > >
> > > > > 【事象】
> > > > > public static final String COMPONENT = "instance = request";
> > > > > と指定し、app.diconで定義しているObjectがあります。
> > > > >
> > > > > 意図としては、Request単位でキャッシュしたい値があり、
> > > > > それを実現する為に、上記のような定義をしております。
> > > > >
> > > > > 発生している事象ですが、実際の処理の際に、
> > > > > リクエストで生成された上記Objectではないものが、
> > > > > 実際の処理に利用されている場合があります。(3回に一度位です)
> > > > > 実際にコンストラクタにログを仕込みHashCodeで確認した結果、
> > > > > S2起動時にもObjectがnewされ、後続のリクエスト処理の際にも、
> > > > > その際に生成されたObjectが利用されているように見えます。
> > > > >
> > > > > デバッグなども可能ですので、調査すべき箇所をご教授下さい。
> > > > >
> > > > > 尚、このObjectは、SMART_DEPLOYで、S2に登録される、XXXXLogicが参照しております。
> > > > >
> > > > > また、
> > > > > Teeda
> > > > > 1.0.13-sp10-SNAPSHOT
> > > > >
> > > > > S2
> > > > > 2.4.44
> > > > >
> > > > > を利用しております。
> > > > >
> > > > > 以上 宜しくお願いいたします。
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Seasar-user mailing list
> > > > > [E-MAIL ADDRESS DELETED]
> > > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > >
> > > >
> > > > --
> > > > {
> > > > name: "Koichi Kobayashi",
> > > > mail: "[E-MAIL ADDRESS DELETED]",
> > > > blog: "http://d.hatena.ne.jp/koichik/",
> > > > twitter: "@koichik"
> > > > }
> > > >
> > > > _______________________________________________
> > > > Seasar-user mailing list
> > > > [E-MAIL ADDRESS DELETED]
> > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内