[ https://issues.apache.org/jira/browse/PORTLETBRIDGE-33?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Freedman resolved PORTLETBRIDGE-33. ------------------------------------------- Resolution: Fixed Fix Version/s: 1.0.0 Applied attached patch file to fix the problem -- I merely remove the redirect request attr before returning from the action. Fix has also been carried forward into the 2.0 codeline but not yet committed. > Redirect during action causes infinite loop if action/render run in same > request > -------------------------------------------------------------------------------- > > Key: PORTLETBRIDGE-33 > URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-33 > Project: MyFaces Portlet Bridge > Issue Type: Bug > Components: Impl > Affects Versions: 1.0.0-alpha, 1.0.0-alpha-2, 1.0.0, 2.0.0 > Reporter: Michael Freedman > Assignee: Michael Freedman > Fix For: 1.0.0 > > > Redirect (of a Faces view) during an action is caught by the bridge and > turned into a simple navigation -- I.e. we view such a redirect as meaning > change the view of the this portlet NOT change the view of the browser from > the consumer page. Its impelmented by tacking a request attribute on in the > redirect method and then detecting this attr in the lifecycle > manager/controller (doFacesRequest). If a redirect is detected we return > normally but don't preserve state. However the code doesn't remove the > redirect request attribute. If the portlet container turns around and calls > render in the same request scope the attr still exists. And as we upgraded > the render impl to also detect/support such redirects, the carrying forward > of this attribute causes the render to also think it now needs to do one of > these navigational redirects -- and the by product of executing this causes > us to rerun the render with the same request attributes as the render started > with -- but oops this already contained the redirect attr carried forward > from the action -- so we get into an infinite loop. > Solution is simple: merely remove the request attr before returning from the > action. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.