[
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.