Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.6DR#4
-
Fix Version/s: 1.7
-
Component/s: ICE-Components
-
Labels:None
-
Environment:Seam1.2.1GA, Icefaces DR4
Description
current release of icefaces-seam-gen has TimerBeanImpl that does not work correctly for COMConcurrentViews. As well, it begins a new conversation for each time the interval-renderer updates the clock. Current scope is session. When changed to Page scope, get the following exception:-
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
at org.jboss.seam.core.Pages.getConvertedParameters(Pages.java:587)
at org.jboss.seam.ui.HtmlLink.encodeBegin(HtmlLink.java:128)
at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:339)
at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:97)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:341)
at com.icesoft.faces.renderkit.dom_html_basic.GridRenderer.encodeChildren(GridRenderer.java:197)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:513)
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:517)
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:517)
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:517)
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:517)
at com.icesoft.faces.facelets.D2DFaceletViewHandler.renderResponse(D2DFaceletViewHandler.java:301)
at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:150)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesState.render(PersistentFacesState.java:145)
at com.icesoft.faces.async.render.RunnableRender.run(RunnableRender.java:126)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:643)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668)
at java.lang.Thread.run(Unknown Source)
Try to come up with some TimerImpl configuration for Seam (which doesn't have a request scope--is event scope similar?) and have it join whatever conversation is in progress.
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
at org.jboss.seam.core.Pages.getConvertedParameters(Pages.java:587)
at org.jboss.seam.ui.HtmlLink.encodeBegin(HtmlLink.java:128)
at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:339)
at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:97)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:341)
at com.icesoft.faces.renderkit.dom_html_basic.GridRenderer.encodeChildren(GridRenderer.java:197)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:513)
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:517)
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:517)
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:517)
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:517)
at com.icesoft.faces.facelets.D2DFaceletViewHandler.renderResponse(D2DFaceletViewHandler.java:301)
at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:150)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesState.render(PersistentFacesState.java:145)
at com.icesoft.faces.async.render.RunnableRender.run(RunnableRender.java:126)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:643)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668)
at java.lang.Thread.run(Unknown Source)
Try to come up with some TimerImpl configuration for Seam (which doesn't have a request scope--is event scope similar?) and have it join whatever conversation is in progress.
change TimerBeanImpl to implement Serializable and now clock works correctly for DOM concurrentViews.....other issues now need to be resolved with DOM Concurrent Views.