[
https://issues.apache.org/jira/browse/TRINIDAD-1273?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matthias Weßendorf resolved TRINIDAD-1273.
------------------------------------------
Resolution: Fixed
Fix Version/s: 1.2.10-core
Assignee: Matthias Weßendorf
> Apply a request lifecuycle to ThreadLocals so that their contents don't leak
> across requests
> --------------------------------------------------------------------------------------------
>
> Key: TRINIDAD-1273
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1273
> Project: MyFaces Trinidad
> Issue Type: Improvement
> Components: Archetype
> Affects Versions: 1.0.9-core, 1.2.9-core
> Environment: All Web Servers that use thread pools and do not clean
> up ThreadLocals before returning the threads to the pool. This includes at
> least WLS and OC4J
> Reporter: Blake Sullivan
> Assignee: Matthias Weßendorf
> Fix For: 1.2.10-core
>
> Attachments: JIRA_1273_1291.patch
>
> Original Estimate: 48h
> Remaining Estimate: 48h
>
> Trinidad and Trinidad customers use ThreadLocals to track per-request state
> in several instances. Typically, a ThreadLocal is used because the consuming
> code does not have access to the Request Object. Even though, the Request
> Object is available off of the ExternalContext, code that executes extremely
> early or late in the request lifecycle may not have access to a FacesContext.
> The proposed solution is to add a
> org.apache.myfaces.trinidad.util.ThreadLocalUtils class with a method:
> public static <T> ThreadLocal<T> newRequestThreadLocal()
> That will create a ThreadLocal instance that will be reset by the Trinidad
> implementation when the request finishes (using the same hook point that the
> Trinidad RequestContext uses to clean itself up). The trickiest part of the
> implementation is connecting the code that causes the removal of the
> ThreadLocals (which exists in the impl package) with the code that creates
> the ThreadLocals to be reset, which exists in the api package.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.