Ilja,

thanks for your reply. If I create a service class like the one below, my
_userDao object is always null. This _userDao works perfectly in other parts
of my app. Do I need to inject the dao in a special way? I think the
integration into spring is the problem, because I don't know where to place
the corresponding part in the config/xml files. As I said, my knowledge of
spring is limited.

My class looks like this:

@Service
@Transactional
public class SessionDestroyedService
{
  @ Autowired
  private UserDao _userDao;

  public void forceLogout(String sessionId)
  {
    if (_userDao == null)
      System.out.println("SessionDestroyedService.forceLogout(): _userDao is
NULL");
    else
    {
      System.out.println("SessionDestroyedService.forceLogout(): _userDao is
OK");
      User user = _userDao.getBySessionId(sessionId);
      if (user != null)
      {
          // do the work here...
      }
    }
  }
} 

Andreas


> -----Original Message-----
> From: Ilja Pavkovic [mailto:ilja.pavko...@binaere-bauten.de] 
> Sent: Wednesday, February 17, 2010 5:38 PM
> To: users@wicket.apache.org
> Subject: Re: best way to detect session termination
> 
> Hi,
> 
> create a service class marked with Annotation @Transactional 
> and manage it 
> with spring. Calls to this function will have get a session 
> from the spring 
> context. 
> 
> Spring will open a session before calling any function on 
> this service and 
> close the session afterwards. 
> 
> @Service
> @Transactional
> public class MyService {
>       @Autowired 
>       private MyDao dao;
> 
>       public destroySession(String sessionId) {
>               myDao.deleteMySessionById(sessionId);
>       }
> }
> 
> Best Regards,
>       Ilja Pavkovic
> 
> Am Mittwoch, 17. Februar 2010 13:24:11 schrieb Andreas Lüdtke:
> > Vineet,
> > 
> > I'm now storing the session id in the user record. But now 
> I have another
> > problem, because hibernate tells me now in sessionDestroy():
> > 
> > org.hibernate.HibernateException: No Hibernate Session 
> bound to thread, and
> > configuration does not allow creation of non-transactional one here
> > 
> > I'm using spring to inject my dao. I also tried to use the dao in my
> > HttpSessionListener which is configured in web.xml, but 
> that prevents my
> > app from being started by Tomcat.
> > Next I did was to create a manual created hibernate 
> session, but that
> > raised other problems like a missing hibernate.hbm.xml file 
> and I don't
> > want to configure that manually...
> > 
> > Does somebody see another way to access my user data, or am I doing
> > something stupid?
> > 
> > Andreas
> > 
> > > -----Original Message-----
> > > From: vineet semwal [mailto:vineetsemwal1...@gmail.com]
> > > Sent: Tuesday, February 16, 2010 2:15 PM
> > > To: users@wicket.apache.org; sam.lued...@t-online.de
> > > Subject: Re: best way to detect session termination
> > > 
> > > can't you simply do that in
> > > webapplication.sessiondestroy(String sessionid),
> > > 
> > >  you can store the sessionid when user logs in and on 
> sessiondestroyed
> > > 
> > > ,search the user by this sessionid ,
> > > and change whatever in user object and then persist it..
> > > 
> > > On Tue, Feb 16, 2010 at 6:23 PM, Andreas Lüdtke
> > > 
> > > <sam.lued...@t-online.de>wrote:
> > > > I studied the classes HttpSessionBindingListener and
> > > > AbstractHttpSessionStore
> > > > as you noted, but I think I'll still have no link between
> > > 
> > > the SessionId
> > > 
> > > > from
> > > > the HTTPSession and my own Session. Maybe I'm missing
> > > 
> > > something or "I don't
> > > 
> > > > see the wood among all the trees" as we say in Germany...
> > > > 
> > > > Andreas
> > > > 
> > > > > -----Original Message-----
> > > > > From: Eelco Hillenius [mailto:eelco.hillen...@gmail.com]
> > > > > Sent: Monday, February 15, 2010 7:08 PM
> > > > > To: sam.lued...@t-online.de
> > > > > Cc: users@wicket.apache.org
> > > > > Subject: Re: best way to detect session termination
> > > > > 
> > > > > You could use a HttpSessionBindingListener like Wicket
> > > 
> > > does internally
> > > 
> > > > > (see AbstractHttpSessionStore). Or as a hack store
> > > 
> > > references to the
> > > 
> > > > > session objects in the session listener. That's the 
> easy fix, but
> > > > > doesn't scale if you need session replication (unless
> > > 
> > > maybe you use
> > > 
> > > > > e.g. Terracotta).
> > > > > 
> > > > > Eelco
> > > > > 
> > > > > On Sun, Feb 14, 2010 at 4:36 AM, Andreas Lüdtke
> > > > > 
> > > > > <sam.lued...@t-online.de> wrote:
> > > > > > Hi Eelco,
> > > > > > 
> > > > > > thanks for the hint. Now I can detect the end of a session.
> > > > > 
> > > > > Unfortunately I
> > > > > 
> > > > > > can't access my own wicket session in that
> > > > > 
> > > > > sessionDestroyed() method in order
> > > > > 
> > > > > > to get the info about the connected user. I've got ther
> > > > > 
> > > > > error message
> > > > > 
> > > > > > "java.lang.IllegalStateException: you can only locate or
> > > > > 
> > > > > create sessions in
> > > > > 
> > > > > > the context of a request cycle".
> > > > > > 
> > > > > > Do you know how I can achieve this?
> > > > > > 
> > > > > > Andreas
> > > > > > 
> > > > > >> -----Original Message-----
> > > > > >> From: Eelco Hillenius [mailto:eelco.hillen...@gmail.com]
> > > > > >> Sent: Saturday, February 13, 2010 7:02 PM
> > > > > >> To: users@wicket.apache.org; sam.lued...@t-online.de
> > > > > >> Subject: Re: best way to detect session termination
> > > 
> > > 
> http://www.xyzws.com/Servletfaq/when-do-i-use-httpsessionlistener/7
> > > 
> > > > > >> Eelco
> > > > > >> 
> > > > > >> On Sat, Feb 13, 2010 at 8:38 AM, Andreas Lüdtke
> > > > > >> 
> > > > > >> <sam.lued...@t-online.de> wrote:
> > > > > >> > I would like to detect the termination of the
> > > 
> > > session to set the
> > > 
> > > > > >> > "lastAccesTime" in the user profile. This should also
> > > > > >> 
> > > > > >> happen if the session
> > > > > >> 
> > > > > >> > times out.
> > > > > >> > 
> > > > > >> > I read in archive about a HttpSessionListener that should
> > > > > >> 
> > > > > >> do the trick.
> > > > > >> 
> > > > > >> > Unfortunately I can't find a place to install it.
> > > > > >> > 
> > > > > >> > Thanks
> > > > > >> > 
> > > > > >> > Andreas
> > > 
> > > 
> ---------------------------------------------------------------------
> > > 
> > > > > >> > To unsubscribe, e-mail: 
> users-unsubscr...@wicket.apache.org
> > > > > >> > For additional commands, e-mail: 
> users-h...@wicket.apache.org
> > > 
> > > 
> ---------------------------------------------------------------------
> > > 
> > > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > > > For additional commands, e-mail: users-h...@wicket.apache.org
> > > 
> > > 
> ---------------------------------------------------------------------
> > > 
> > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > > For additional commands, e-mail: users-h...@wicket.apache.org
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> 
> 
> -- 
> binaere bauten gmbh · tempelhofer ufer 1a · 10961 berlin
> 
>    +49 · 171 · 9342 465
> 
> Handelsregister: HRB 115854 - Amtsgericht Charlottenburg
> Geschäftsführer: Dipl.-Inform. Ilja Pavkovic, Dipl.-Inform. 
> Jost Becker
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to