Hi guys
I´m just trying to execute some code after a session timeout occurs.
I´m using spring / wicket / hibernate frameworks.
Why do I get this error "WicketRuntimeException: There is no application
attached to current thread http-8080-1"?
I´m not getting it...I appreciate any hints. Thanks in advance !!!
Here is my application class:
public class MyApplication extends SpringWebApplication implements
HttpSessionListener {
protected void init() {
//some code
}
public Session newSession(Request request, Response response) {
return new MySession(request);
}
public Class<IndexPage> getHomePage() {
return IndexPage.class;
}
public Object getBean(Class<?> clazz, String beanName) {
return createSpringBeanProxy(clazz, beanName);
}
@Override
public void sessionCreated(HttpSessionEvent arg0) {
//nothing sepcial
}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) {
String sessionId = arg0.getSession().getId();
IRegistrationLoginUseCase bean =
(ILoginService)getBean(ILoginService.class, "loginService");
bean.logout(sessionId);
}
Here is my error stack trace:
org.apache.wicket.WicketRuntimeException: There is no application attached to
current thread http-8080-1
at org.apache.wicket.Application.get(Application.java:166)
at
org.apache.wicket.spring.SpringWebApplication$1.getSpringContext(SpringWebApplication.java:51)
at
org.apache.wicket.spring.SpringBeanLocator.getSpringContext(SpringBeanLocator.java:176)
at
org.apache.wicket.spring.SpringBeanLocator.locateProxyTarget(SpringBeanLocator.java:162)
at
org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:412)
at org.apache.wicket.proxy.$Proxy3.logout(Unknown Source)
at
com.studentcv.web.MyApplication.sessionDestroyed(StudentCVApplication.java:82)
at
org.apache.catalina.session.StandardSession.expire(StandardSession.java:702)
at
org.apache.catalina.session.StandardSession.isValid(StandardSession.java:592)
at org.apache.catalina.connector.Request.doGetSession(Request.java:2287)
at org.apache.catalina.connector.Request.getSession(Request.java:2075)
at
org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:833)
at
org.apache.wicket.protocol.http.AbstractHttpSessionStore.getSessionId(AbstractHttpSessionStore.java:180)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:303)
at
org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:124)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)