GreenEyed wrote:He will probably need to know which version of JForum you are running, if downloaded from CVS which version of those files you have, and servlet container model and version would probably also help.
Some servlet containers behave a bit strangely when timing out sessions, like removing everything inside the session before notifying the application that the session expired, so this information is quite important.
I am using the latest JForum version from CVS.
Servlets - tomcat/jakarta-tomcat-5.5.9
I have seen this problem for a while. Only now (in the posting above) I was able to find the cause.
Also, not directly related to this bug, but just a matter of JForum style.
I really dislike all these static methods calls
JForum.getRequest().getContextPath()
JForum.setThreadLocalData()
Because they causes a lot of locking (which is often hard to get right),
races, overall slowdond and etc.
I would much prefer to take the request (ActionServletRequest.java)
extend it and put all the data there.
Then use request variable as first argument of all methonds.
And bingo - you can access all the data you need (it is in ActionServletRequest now)
without any DataHolder, locking, threads and etc.
You have request as argument and just do
request.getUserSession()
request.getContextPath()
No locking at all!
[originally posted on jforum.net by Anonymous]