Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.7.1, 1.7.2
-
Component/s: Framework
-
Labels:None
-
Environment:Ajax Push
-
Support Case References:
-
Workaround Exists:Yes
-
Workaround Description:Ensure all render group creation is done on JSF threads.
Description
The code where this occurs is the constructor for GroupAsyncRenderer:
public GroupAsyncRenderer() {
applicationMap = FacesContext.getCurrentInstance().getExternalContext().getApplicationMap();
}
The applicationMap is only required to retrieve the ServletContext under certain circumstances when using the SessionRenderer. We need to refactor to ensure that the map is retrieved as lazily and reduntantly as possible, and only in situations when actually required.
public GroupAsyncRenderer() {
applicationMap = FacesContext.getCurrentInstance().getExternalContext().getApplicationMap();
}
The applicationMap is only required to retrieve the ServletContext under certain circumstances when using the SessionRenderer. We need to refactor to ensure that the map is retrieved as lazily and reduntantly as possible, and only in situations when actually required.
Activity
Field | Original Value | New Value |
---|---|---|
Fix Version/s | 1.8DR#1 [ 10141 ] | |
Assignee Priority | P1 | |
Assignee | Jack Van Ooststroom [ jack.van.ooststroom ] | |
Support Customer Ref. #s | License Number: 6834 |
Support Case References | https://www.icesoft.ca:4443/supportilla/show_bug.cgi?id=5253 | |
Support Customer Ref. #s | License Number: 6834 |
Fix Version/s | 1.8DR#2 [ 10142 ] | |
Fix Version/s | 1.8DR#1 [ 10141 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #17784 | Fri Oct 17 09:54:35 MDT 2008 | jack.van.ooststroom | Fixed JIRA |
Files Changed | ||||
![]() |
Status | Open [ 1 ] | In Progress [ 3 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #17817 | Thu Oct 23 14:26:53 MDT 2008 | jack.van.ooststroom | Fixed JIRA |
Files Changed | ||||
![]() |
Fix Version/s | 1.7.2 SP1 [ 10144 ] |
Status | In Progress [ 3 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Fix Version/s | 1.8 [ 10161 ] | |
Assignee Priority | P1 |
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee | Jack van Ooststroom [ jack.van.ooststroom ] |
The offending FacesContext.getCurrentInstance() call is moved from the GroupAsyncRenderer's constructor to the requestRender(String) method. Additionally, guards are in place now warning the user when an invocation is done on a non-JSF thread to one of the methods that require the JSF context. Marking this one as FIXED.