Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Put the JSF UI component lifecycle under the control of a Spring Web Flow Execution [SWF-362] #1216

spring-operator opened this issue Aug 10, 2007 · 1 comment


Copy link

spring-operator commented Aug 10, 2007

Keith Donald opened SWF-362 and commented

Currently Spring Web Flow "fits" into the JSF lifecycle via a FlowPhaseListener. This is a simple integration approach, however it has several disadavantages:

  • All of the code related to flow execution lifecycle management is JSF specific, and duplicated with the FlowExecutor which processes requests in the other supported environments. Special constructs like a FlowCleanupFilter must be maintained because of limitations in the JSF lifecycle.
  • Exceptions that occur outside the Flow Execution cannot be handled by the FlowExecution. For example, consider an exception that occurs when a UIComponent renders. Such an exception is impossible to handle by the Flow. Special-case JSF extensions must be written to deal with these exceptions.
  • Issuing cleanup callbacks like session.disconnect() after view rendering is hard to do, and adapter (e.g. JSF) specfiic
  • Supporting JSF in a Portlet environment is harder, and results in further portlet-specific integration code
  • In general, SWF has less control over things, making it harder to fully utilize its power.

This issue should investigate putting Web Flow itself in full control of driving the JSF component lifecycle. This will allow for high-level JSF + SWF integration code to be eliminated, and for common request dispatching and flow execution lifecycle management code to be reused consistently across all integration environments.

This enhancement most likely depends on enhancements to the core engine to complete. Specifically, a view selection rendering phase most likely will needed to be added to the SWF lifecycle. Also, this enhancement would benefit from several core engine enhancements. Specifically, the ability to fork off flow executions asynchronously from within a view state (called flow composition).

Affects: 1.0.4

Issue Links:

Copy link
Contributor Author

Keith Donald commented

The JSF lifecycle is now fully under the control of Web Flow, and this integration approach is so much cleaner.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet

No branches or pull requests

1 participant