This class has been designed with subclassing in mind. If you want to do advanced
Spring Web Flow customization, e.g. using a custom
org.springframework.webflow.executor.FlowExecutor implementation,
consider subclassing this class and overriding one or more of the provided
hook methods.
author: Keith Donald author: Erwin Vervaet
getMaxContinuations() Returns the configured maximum number of continuation snapshots allowed
for a single conversation when using the
RepositoryType.CONTINUATION continuation flow execution repository.
setConversationManager(ConversationManager conversationManager) Sets the strategy for managing conversations that should be configured
for flow executors created by this factory.
The conversation manager is used by the flow execution repository
subsystem to begin and end new conversations that store execution state.
setExecutionAttributes(Map executionAttributes) Sets the system attributes that apply to flow executions launched by the
executor created by this factory.
public void
setExecutionListener(FlowExecutionListener executionListener) Convenience setter that sets a single listener that always applies to flow
executions launched by the executor created by this factory.
setExecutionListeners(FlowExecutionListener[] executionListeners) Convenience setter that sets a list of listeners that always apply to
flow executions launched by the executor created by this factory.
setMaxContinuations(int maxContinuations) Set the maximum number of continuation snapshots allowed for a single
conversation when using the
RepositoryType.CONTINUATION continuation flow execution repository.
public void
setMaxConversations(int maxConversations) Set the maximum number of allowed concurrent conversations in the session.
public void
setRepositoryType(RepositoryType repositoryType) Sets the type of flow execution repository that should be configured for
the flow executors created by this factory.
Factory method for creating the flow execution repository for saving and
loading executing flows. Subclasses may override to customize the
repository implementation used.
Parameters: repositoryType - a hint indicating what type of repository to create Parameters: executionStateRestorer - the execution state restorer strategy to be used bythe repository Parameters: conversationManager - the conversation manager specified by the user,could be null in which case the default conversation manager should be used a new flow execution repository instance
Create the flow execution factory to be used by the executor produced by this
factory bean. Configure the execution factory appropriately. Subclasses may
override if they which to use a custom execution factory, e.g. to use a custom
FlowExecution implementation.
Parameters: executionAttributes - execution attributes to apply to created executions Parameters: executionListenerLoader - decides which listeners to apply to created executions a new flow execution factory instance
Create the flow execution state restorer to be used by the executor produced by
this factory bean. Configure the state restorer appropriately. Subclasses may
override if they which to use a custom state restorer implementation.
Parameters: definitionLocator - the definition locator to use Parameters: executionAttributes - execution attributes to apply to restored executions Parameters: executionListenerLoader - decides which listeners should apply to restoredflow executions a new state restorer instance
Create the flow executor instance created by this factory bean and configure
it appropriately. Subclasses may override if they which to use a custom executor
implementation.
Parameters: definitionLocator - the definition locator to use Parameters: executionFactory - the execution factory to use Parameters: executionRepository - the execution repository to use a new flow executor instance
Returns the configured maximum number of continuation snapshots allowed
for a single conversation when using the
RepositoryType.CONTINUATION continuation flow execution repository.
the configured value or null if the user did not explicitlyspecify a value and wants to use the default since: 1.0.1
Returns the configured maximum number of allowed concurrent conversations
in the session. Will only be used when using the default conversation manager,
e.g. when no explicit conversation manager has been configured using
FlowExecutorFactoryBean.setConversationManager(ConversationManager) .
the configured value or null if the user did not explicitly specify a value and wants to use the default since: 1.0.1
Sets the flow definition locator that will locate flow definitions needed
for execution. Typically also a
FlowDefinitionRegistry . Required.
Parameters: definitionLocator - the flow definition locator (registry)
setExecutionAttributes
public void setExecutionAttributes(Map executionAttributes)(Code)
Sets the system attributes that apply to flow executions launched by the
executor created by this factory. Execution attributes may affect flow
execution behavior.
Note: this method simply accepts a generic java.util.Map
to allow for easy configuration by Spring. The map entries should consist
of non-null String keys with object values.
Parameters: executionAttributes - the flow execution system attributes
Convenience setter that sets a single listener that always applies to flow
executions launched by the executor created by this factory.
Parameters: executionListener - the flow execution listener
Sets the strategy for loading the listeners that will observe executions
of a flow definition. Allows full control over what listeners should
apply to executions of a flow definition launched by the executor created
by this factory.
Convenience setter that sets a list of listeners that always apply to
flow executions launched by the executor created by this factory.
Parameters: executionListeners - the flow execution listeners
Sets the type of flow execution repository that should be configured for
the flow executors created by this factory. This factory encapsulates the
construction of the repository implementation corresponding to the
provided type.
Parameters: repositoryType - the flow execution repository type