[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 メーリングリストの案内