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
Deryk Sinotte
created issue -
Deryk Sinotte
made changes -
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 |
Deryk Sinotte
made changes -
Support Case References | https://www.icesoft.ca:4443/supportilla/show_bug.cgi?id=5253 | |
Support Customer Ref. #s | License Number: 6834 |
Ken Fyten
made changes -
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 | ||||
MODIFY
/icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/async/render/GroupAsyncRenderer.java
|
Jack Van Ooststroom
made changes -
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 | ||||
MODIFY
/icefaces/trunk/icefaces/core/src/com/icesoft/faces/async/render/GroupAsyncRenderer.java
|
Ken Fyten
made changes -
Fix Version/s | 1.7.2 SP1 [ 10144 ] |
Jack Van Ooststroom
made changes -
Status | In Progress [ 3 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | 1.8 [ 10161 ] | |
Assignee Priority | P1 |
Ken Fyten
made changes -
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.