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

Reply via email to