[
https://issues.apache.org/jira/browse/TAPESTRY-2141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12567060#action_12567060
]
Davor Hrg commented on TAPESTRY-2141:
-------------------------------------
one workarround is to initialize ThreadCleanupHub early by adding a dummy
listener at the begining of a newly created thread,
and other workarround is already happening for tapestry http requests.
If first threaded service accessed is adding something to ThreadCleanupHub code
will break,
but for tapestry web requests first threaded service called is RequestGlobals
which does not
add anything to ThreadCleanupHub. This way ThreadCleanupHub is initialized and
problematic
service like HibernateSessionManager works ok.
I suppose this is bug waiting to happen..
if for some reason a "problematic" service initializes first.
> 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]