Sep 5th, 2008, 01:01 AM
Attributes in conversationScope are not serialized while snapshotting a FlowExecution
Currently, in SWF 2.0.3, the conversatoinScope is a transient variable in the FlowExecutionImpl. Thus, attributes in conversationScope are not serialized while snapshotting a FlowExecution. The result is that, while backtracking a flow execution, instead of restoring both the flow execution and the conversationScope, the current impl only restores the flow execution, but uses a un-rewinded version of conversationScope.
For a web application, that implementation makes sense since people may not want to lose any keyed-in information while going back and forth within a process. For a voice application or an ATM or other application that provides services in a kiosk, however, it sounds reasonable to rewind the flow execution and conversation states together.
Can that kind of feature be added to SWF, and have it configurable in a way?
Dec 15th, 2008, 02:17 PM
It's been interesting to read your post. I didn't know that conversationScope is transient, just checked and found that most members in FlowExecutionImpl are transient. I had a weird problem today: A (hibernate)-persisted object would lose it's persistent state (it's Id among others) when using subflows and conversationScope. Does anyone here know more about this? Is my current reasoning for loosing the persistent state correct, ie. the fact that conversationScope is transient?
Tags for this Thread