Flow definitions and lifecycle
Faces Flows use the @FlowScoped
beans where the user can enter a single page, which is known as the start page. After entering the flow, the user can navigate the pages, which are associated with the flow. The user can exit the flow at predefined points. A flow can invoke a nested flow.
The lifecycle of the @FlowScoped
beans is greater than the @ViewScoped
beans, but shorter than that of @SessionScoped
. Therefore, we can compare flow scoped beans to their conversational brethren. A @ConversationalScoped
bean maintains a state for all the views and web page tabs in a browser. Like their conversation mates, the @FlowScoped
beans survive multiple requests; in fact, they are even better, because they have different instances for multiple windows in a session. The flow-scoped bean is not shared between browser tabs.
As the user enters and leaves the flows in the application, Faces Flows has a dedicated CDI scope, which the JSF framework implementation uses to activate...