You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Ate Douma (JIRA)" <ji...@apache.org> on 2014/04/18 13:58:14 UTC
[jira] [Created] (SCXML-202) State machine running status must be
kept and maintained by SCInstance across serialization and deserialization
Ate Douma created SCXML-202:
-------------------------------
Summary: State machine running status must be kept and maintained by SCInstance across serialization and deserialization
Key: SCXML-202
URL: https://issues.apache.org/jira/browse/SCXML-202
Project: Commons SCXML
Issue Type: Bug
Affects Versions: 2.0
Reporter: Ate Douma
Assignee: Ate Douma
Priority: Minor
Fix For: 2.0
As was discovered and reported by Francis Tenda on the commons users@ list, currently it isn't possible to serialize/de-serialize a state machine instance (SCInstance) without keeping hold on the (same) SCXMLExecutor and its embedded SCXMLExecutorContext.
While the use-cases for re-creating a new SCXMLExecutor/SCXMLExecutorContext every time after deserializing an SCInstance might be limited, as you cannot have/keep running Invokers and will have to re-configure the Evaluator, Dispatcher, ErrorReporter as well as any SCXMLListeners every time then, it still should be possible.
The problem is that the SCXMLExecutorContext currently manages the state machine running status and never get 'triggered' to set it (back) to running after re-attaching a SCInstance. With as effect that any subsequent firing of events will be ignored.
The running status logically 'belongs' to the state machine itself, and thus it currently is wrongly managed.
I'll fix this by moving this status property into SCInstance instead, which thereby should also fix the test example Francis Tenda provided on the list.
--
This message was sent by Atlassian JIRA
(v6.2#6252)