[ https://issues.apache.org/jira/browse/WICKET-2846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexandru Objelean updated WICKET-2846: --------------------------------------- Description: 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 was: 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. Thanks! Alex > 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: Igor Vaynberg > Priority: Minor > Fix For: 1.4.9 > > > 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.