|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface FlowExecutionStorage
Storage strategy for flow executions. A flow execution manager uses this interface to load and save flow executions.
Note that the flow execution storage strategy can have an impact
on application transaction management for a flow execution. For instance,
the default application transaction synchronization implementation
(FlowScopeTokenTransactionSynchronizer)
uses a simple synchronizer token stored in the flow scope, which
implies that there is a single flow execution for an application transaction.
Some flow execution storage strategies (like
ClientContinuationFlowExecutionStorage)
create copies (clones) of a flow execution to enable free browsing
in a flow. Those strategies are not compatible with the default application
transaction implementation. Usually this is not a problem since free browing
is not really compatible with any kind of transactional semantics. If required,
you can always plug in another transaction synchronizer, e.g. one that stores
a transaction token in the database, no longer requiring a single
flow execution per application transaction.
FlowExecutionManager,
FlowExecution| Method Summary | |
|---|---|
FlowExecution |
load(java.io.Serializable id,
Event requestingEvent)
Load an existing flow execution, identified by given unique id, from the storage. |
void |
remove(java.io.Serializable id,
Event requestingEvent)
Remove the identified flow execution from the storage. |
java.io.Serializable |
save(java.io.Serializable id,
FlowExecution flowExecution,
Event requestingEvent)
Save given flow execution in the storage. |
| Method Detail |
|---|
FlowExecution load(java.io.Serializable id,
Event requestingEvent)
throws NoSuchFlowExecutionException,
FlowExecutionStorageException
id - the unique id of the flow execution, as returned by the
save methodrequestingEvent - the event requesting the load of the flow execution
NoSuchFlowExecutionException - when there is no flow execution
with specified id in the storage
FlowExecutionStorageException - when there is a technical problem
accessing the flow execution storage
java.io.Serializable save(java.io.Serializable id,
FlowExecution flowExecution,
Event requestingEvent)
throws FlowExecutionStorageException
id - the unique id of the flow execution, or null
if the flow execution does not yet have an id (e.g. was not
previously saved)requestingEvent - the event requesting the save of the flow executionflowExecution - the flow execution to save
FlowExecutionStorageException - when there is a technical problem
accessing the flow execution storage
void remove(java.io.Serializable id,
Event requestingEvent)
throws FlowExecutionStorageException
id - the unique id of the flow execution, as returned by the
save methodrequestingEvent - the event requesting the remove of the flow execution
FlowExecutionStorageException - when there is a technical problem
accessing the flow execution storage
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||