[
https://issues.apache.org/jira/browse/TAPESTRY-2141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12567214#action_12567214
]
Howard M. Lewis Ship commented on TAPESTRY-2141:
------------------------------------------------
I've been thinking that we could coalesce all ThreadLocal's into a single map
.... expand and rename ThreadCleanupHub to be ThreadData, adding methods for
storing and retrieving thread-local data. Clients would need to provide their
own keys (I think a key type of Object would work fine).
> ThreadLocal bug that needs a workarround
> ----------------------------------------
>
> Key: TAPESTRY-2141
> URL: https://issues.apache.org/jira/browse/TAPESTRY-2141
> Project: Tapestry
> Issue Type: Bug
> Components: tapestry-ioc
> Affects Versions: 5.0.10
> Environment: jre 1.5
> Reporter: Davor Hrg
>
> There is a ThreadLocal bug that might be a source of problems for following
> code:
> here is a non trivial example that is broken,
> I'll try to make a trivial one that fails :)
> a simple page with test link
> <t:eventlink event="test">test</t:eventlink>
> page:
> @Inject private HibernateSessionManager _sessionManager;
> @Inject private ThreadCleanupHub _cleanupHub;
> public void onTest(){
> new Thread(new Runnable(){
> public void run() {
> User user = (User)
> _sessionManager.getSession().load(User.class, Long.valueOf(1L));
> user.setName(user.getName()+"1");
> _cleanupHub.cleanup();
> }
> }).start();
> }
> for java 1.5 this code fails to save data (threadCleanupHub looses listener
> list )
> and it works fo 1.6
> here's a link to articles about this bug
> http://crazybob.org/2006/07/hard-core-java-threadlocal.html
> and the bug
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5025230
> it also makes this snippet not working
> http://wiki.apache.org/tapestry/Tapestry5HowToRunTaskInThread
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]