Ok, so the session is not 100% safe for attaching detaching hibernate
stuff. If there is a better place to store something like a user
object i would love to here about it.

Maurice

On 7/31/06, Johan Compagner <[EMAIL PROTECTED]> wrote:
> yes but with igors example it is possible
> that the session is used over multiply request we do have a lock
> But that lock doesn't lock globally over everything.
> So it is possible that it gets detached from under your nose. But that is
> not a problem
> But it is also possible that you get a user loaded by another thread ==
> hibernate session.
> Session.detach() is not called in a sync block...
>
> johan
>
>
>
> On 7/31/06, Maurice Marrink <[EMAIL PROTECTED]> wrote:
> >
>  Glad to see it was just a misunderstanding. I was afraid you guys were
> gonna tell me the world isn't flat ;)
>
> Maurice
>
> On 7/31/06, Igor Vaynberg <[EMAIL PROTECTED] > wrote:
> > i wasnt suggesting setting the user on request cycle, i was suggesting
> > keeping the id in session and letting requestcycle hold the cache for the
> > request.
> >
> > i didnt realize websession has attach/detach, so this can be made simpler
> >
> > MySession extends WebSession {
> >    private long userid;
> >    private transient User user;
> >
> >    setUser(User u) {
> >          userid=u.getid();
> >          user=u;
> >    }
> >
> >   getUser() {
> >       if (user==null) {
> >            user=loaduserbyid(userid);
> >       }
> >       return user;
> >   }
> >
> >   detach() {
> >      user=null;
> >
> >    }
> >
> > -Igor
> >
> >
> > On 7/31/06, Maurice Marrink <[EMAIL PROTECTED]> wrote:
> > > > store is detached. second request comes in and it is dealing with
> stale
> > data
> > > > unless you reload the user object.
> > > correct that is why you should use an imodel or come up with your own
> > > attach detach strategy
> > >
> > > > also storing imodel in session wont work because session doesnt have
> an
> > > > imodel slot so who is going to be responsible for detaching that model
> > at
> > > > the end of request?
> > > session has an onattach and ondetach method you can use.
> > >
> > > Also the way i understand how the whole requestcycle stuff happens
> > > (and i know you guys know way more about that then me) is that a new
> > > requestcycleobject is created on every request by a factory so how is
> > > the current user supposed to get set on the requestcycle?
> > >
> > > Don't get me wrong i am not criticizing you guys, i am just curious as
> > > to how the internals of wicket operate.
> > >
> > > Maurice
> > >
> > > On 7/31/06, Igor Vaynberg < [EMAIL PROTECTED]> wrote:
> > > > but we are talking about caching here. if you store the instance of
> the
> > user
> > > > you loaded in session that is fine for the request that loaded it. but
> > what
> > > > happens after that request ends? the session is closed, the instance
> you
> > > > store is detached. second request comes in and it is dealing with
> stale
> > data
> > > > unless you reload the user object.
> > > >
> > > > also storing imodel in session wont work because session doesnt have
> an
> > > > imodel slot so who is going to be responsible for detaching that model
> > at
> > > > the end of request?
> > > >
> > > > -Igor
> > > >
> > > >
> > > >
> > > >  On 7/31/06, Maurice Marrink < [EMAIL PROTECTED]> wrote:
> > > > >
> > > >  true, but shouldn't the lock on the session prevent that in like 95%
> > > > of all the cases?
> > > >
> > > > Maurice
> > > >
> > > > On 7/31/06, Johan Compagner <[EMAIL PROTECTED]> wrote:
> > > >  > A session can be used by multiply threads/request
> > > > > So it will be detached by those when they are finished.
> > > > > So another request can be busy with it while another calls detach on
> > it.
> > > > >
> > > > > johan
> > > > >
> > > > >
> > > > >
> > > > >  On 7/31/06, Maurice Marrink < [EMAIL PROTECTED]> wrote:
> > > > > > >i wouldn't recommend doing this in session because user entity
> will
> > > >  > > become detached, i >would instead do it in the requestcycle so
> the
> > > > > > user is loaded once per request
> > > > > > Yeah are you sure about this Igor? because we are also attaching
> our
> > > > > > user object (hibernate object) to our session, lazy loading it
> > > > > > whenever needed. And we have not noticed it getting detached
> before
> > > > > > the end of the request. Mats i guess this also answers your
> question
> > > > > > about if it is possible to put an imodel in the session. however
> if
> > > > > > you are really concerned about the db access every time you could
> > > > > > always store the team id in the session.
> > > > > >
> > > > > > Maurice
> > > > > >
> > > > > > On 7/31/06, Mats Norén < [EMAIL PROTECTED] > wrote:
> > > > > > > On 7/31/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> > > > > > > > i wouldnt recommend doint this in session because user entity
> > will
> > > > > become
> > > > > > > > detached, i would instead do it in the requestcycle so the
> user
> > is
> > > > > loaded
> > > > > > > > once per request
> > > > > > >
> > > > > > > It is? I've used a User-object in session and I haven't noticed
> > that
> > > > > > > it gets detached.... I guess I'll have to look into to that.
> > > > > > >
> > > > > > > Can I still have a getUser() method in Session that in turn uses
> > the
> > > > > code below?
> > > > > > >
> > > > > > > I think I saw an example (could have been in databinder) where a
> > > > > > > IModel was stored in session. Is that an alternative?
> > > > > > >
> > > > > > > >
> ((MyRequestCycle)RequestCycle.get()).getUser();
> > > > > > > >
> > > > > > > > MyRequestCycle {
> > > > > > > >     private transient User user;
> > > > > > > >
> > > > > > > >   getuser() { if (user==null) { user=loaduser(
> > > > > session.get().getuserid()); }
> > > > > > > >   onendrequest() { user=null; }
> > > > > > > > }
> > > > > > > >
> > > > > > > > -Igor
> > > > > > > >
> > > > > > >
> > > > > > > /Mats
> > > > > > >
> > > > > > >
> > > > >
> > > >
>  >
> -------------------------------------------------------------------------
> > > > > > > Take Surveys. Earn Cash. Influence the Future of IT
> > > > > > > Join SourceForge.net 's Techsay panel and you'll get the chance
> to
> > > > share
> > > > > your
> > > > > > > opinions on IT & business topics through brief surveys -- and
> earn
> > > > cash
> > > > > > >
> > > > >
> > > >
> >
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > > > > > > _______________________________________________
> > > > > > > Wicket-user mailing list
> > > > > > > Wicket-user@lists.sourceforge.net
> > > > > > >
> > > > >
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> >
> -------------------------------------------------------------------------
> > > > > > Take Surveys. Earn Cash. Influence the Future of IT
> > > > > > Join SourceForge.net's Techsay panel and you'll get the chance to
> > share
> > > > > your
> > > > > > opinions on IT & business topics through brief surveys -- and earn
> > cash
> > > > > >
> > > > >
> > > >
> >
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > > > > > _______________________________________________
> > > > > > Wicket-user mailing list
> > > > > > Wicket-user@lists.sourceforge.net
> > > > > >
> > > >
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
> > > > > >
> > > > >
> > > > >
> > > > >
> > > >
> >
> -------------------------------------------------------------------------
> > > > > Take Surveys. Earn Cash. Influence the Future of IT
> > > > > Join SourceForge.net's Techsay panel and you'll get the chance to
> > share
> > > > your
> > > > > opinions on IT & business topics through brief surveys -- and earn
>  > cash
> > > > >
> > > >
> >
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > > > >
> > > > > _______________________________________________
> > > > > Wicket-user mailing list
> > > > > Wicket-user@lists.sourceforge.net
> > > > >
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
> > > > >
>  > > > >
> > > > >
> > > >
> > > >
> >
> -------------------------------------------------------------------------
> > > >
> > > > Take Surveys. Earn Cash. Influence the Future of IT
> > > > Join SourceForge.net's Techsay panel and you'll get the chance to
> share
> > your
> > > > opinions on IT & business topics through brief surveys -- and earn
> cash
> > > >
> >
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > > > _______________________________________________
> > > > Wicket-user mailing list
> > > > Wicket-user@lists.sourceforge.net
> > > >
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
> > > >
> > > >
> > > >
> >
> -------------------------------------------------------------------------
> > > > Take Surveys. Earn Cash. Influence the Future of IT
> > > > Join SourceForge.net's Techsay panel and you'll get the chance to
> share
> > your
> > > > opinions on IT & business topics through brief surveys -- and earn
> cash
> > > >
> >
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > > >
> > > > _______________________________________________
> > > > Wicket-user mailing list
> > > > Wicket-user@lists.sourceforge.net
> > > >
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
> > > >
> > > >
> > > >
> > >
> > >
> >
> -------------------------------------------------------------------------
> > > Take Surveys. Earn Cash. Influence the Future of IT
> > > Join SourceForge.net's Techsay panel and you'll get the chance to share
> > your
> > > opinions on IT & business topics through brief surveys -- and earn cash
> > >
> >
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > > _______________________________________________
> > > Wicket-user mailing list
> > > Wicket-user@lists.sourceforge.net
> > >
> https://lists.sourceforge.net/lists/listinfo/wicket-user
> > >
> >
> >
> >
> -------------------------------------------------------------------------
> > Take Surveys. Earn Cash. Influence the Future of IT
> > Join SourceForge.net's Techsay panel and you'll get the chance to share
> your
> > opinions on IT & business topics through brief surveys -- and earn cash
> >
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> >
> > _______________________________________________
> > Wicket-user mailing list
> > Wicket-user@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
> >
> >
> >
>
> -------------------------------------------------------------------------
>
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys -- and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys -- and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>
>

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to