How to manage applications to stop with signal 'app.Wt-unload' not exposed
Added by Vladimir Savchik about 7 years ago
I now have a problem with closing old WApplication's, e.g. after refresh in browser.
Applications stay in memory and so on.
Probably it is due to referencing from certain global array.
Still, it would be right doing to understand shutdown sequence - WtServlet$BoundSession.valueUnbound() -> application destroy();
This call is not occurring for some reason.
I have tried example and its number of active sessions also continued to increase.
Next, I have spotted "signal 'app.Wt-unload' not exposed" message both in my case and example case.
Could you please kindly explain why example does not release application and where to see to fix "app.Wt-unload"?
Running Jetty 8.1.8.v20121106
...
816 [main] INFO eu.webtoolkit.jwt.ServletInit - Using servlet API 3
821 [main] INFO eu.webtoolkit.jwt.ServletApi3 - Configured URL tracking
2017-10-10 11:24:08.371:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,[file:/C:/svn/widgetgallery-3.3.8/WebRoot/, jar:file:/C:/svn/widgetgallery-3.3.8/lib/jwt-3.3.8.jar!/META-INF/resources/]}
2017-10-10 11:24:08.679:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:8080
4996 [qtp1531540946-23] INFO eu.webtoolkit.jwt.WtServlet - Session created: 1l72y0o9jbedokgosr2qgac6n (#sessions = 1)
5011 [qtp1531540946-23] INFO eu.webtoolkit.jwt.WEnvironment - UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
14947 [qtp1531540946-18] INFO eu.webtoolkit.jwt.WtServlet - Session created: 1usvosyvbo7iifuytni4witll (#sessions = 2)
14948 [qtp1531540946-18] INFO eu.webtoolkit.jwt.WEnvironment - UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
15949 [qtp1531540946-22] ERROR eu.webtoolkit.jwt.WebSession - decodeSignal(): signal 'app.Wt-unload' not exposed
85546 [qtp1531540946-20] INFO eu.webtoolkit.jwt.WtServlet - Session created: bgibgy17x93luudehaxkc3ub (#sessions = 3)
85547 [qtp1531540946-20] INFO eu.webtoolkit.jwt.WEnvironment - UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
86289 [qtp1531540946-18] ERROR eu.webtoolkit.jwt.WebSession - decodeSignal(): signal 'app.Wt-unload' not exposed
Replies (1)
RE: How to manage applications to stop with signal 'app.Wt-unload' not exposed - Added by Wim Dumon about 7 years ago
Hey Vladimir,
The app.Wt-unload not exposed may be a bug in Wt. We are aware of some issues in the 'signal not exposed' functionality. However, it is usually not a very critical bug since the server can never rely that the browser's JavaScript will be able to notify the server that the application is closed: the browser may not be allowed to execute any JavaScript anymore, the signal may not reach the client because of network problems, or the client may shut down after all network connectivity was lost. Therefore, a timeout mechanism ensures that old sessions are recycled. From the top of my head, JWt relies on the servlet container for tracking sessions, and thus the timeout mechanism of the servlet container applies. So please check the documentation of your servlet container to see how dead sessions are detected.
Best regards,
Wim.