[
https://issues.apache.org/jira/browse/WICKET-2846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jeremy Thomerson resolved WICKET-2846.
--
Fix Version/s: 1.4.10
(was: 1.4.9)
Resolution: Won't Fix
this was released in 1.4.9, but is now being reverted in 1.4.10 due to
overwhelming community feedback
Store Application in InheritableThreadLocal instead of ThreadLocal
--
Key: WICKET-2846
URL: https://issues.apache.org/jira/browse/WICKET-2846
Project: Wicket
Issue Type: Improvement
Components: wicket
Reporter: Alexandru Objelean
Assignee: Jeremy Thomerson
Priority: Minor
Fix For: 1.4.10
Attachments: wicket-application-leak.tar.gz
Is there any particular reason why Application class wouldn't be stored in
InheritableThreadLocal instead of ThreadLocal? The problem is that I need to
be able to access Application class from a thread created when a button is
pressed. Using InheritableThreadLocal instead of ThreadLocal would solve
this problem.
Use case example:
public class MyPage extends Page {
@SpringBean
private MyService service;
//perform a polling of long running process triggered by a button click
onClickButton() {
new Thread() {
run() {
service.executeLongRunningProcess();
}
}.start();
}
}
The following example won't work well if the Application is not stored in
InheritableThreadLocal. The reason why it doesn't work, as I understand that,
is because @SpringBean lookup depends on Application instance which is not
accessible from within the thread. Having it stored inside of ITL would solve
the problem.
Thanks!
Alex
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.