CDV ❯ Classes in Spring webflow must be Serializable and will be serialized even when using Terracotta
-
New Feature
-
Status: Closed
-
1 Critical
-
Resolution: Fixed
-
SpringRuntime
-
-
nadeem
-
Reporter: amiller
-
August 27, 2008
-
0
-
Watchers: 1
-
November 07, 2008
-
November 05, 2008
Description
This is something we’ve run across while building the Lassen reference web app using Spring webflow. The classes you’re putting in the web flow session must be marked as Serializable for Spring web flow and are actually being serialized/deserialized between calls. Presumably Terracotta is then distributing the serialized form of the objects.
It would be better if Terracotta-enabled Spring webflow avoided the serialization altogether as it is not needed. This would also be a performance boost.
Comments
Fiona OShea 2008-10-03
Alex Miller 2008-10-21
Working on an alternate solution to use a custom snapshot factory.
Abhishek Singh 2008-11-05
Added a TIM at https://svn.terracotta.org/repo/forge/projects/tim-spring-webflow/ Uses a custom snapshot, which does not use serialization.
Behavior is activated by specifying max-execution-snapshots=-1 in the flowExecutor/flowRepository configuration of spring webflow.
For example:
The actual value for max-execution-snapshots by default is 1, which can be changed with the tc-property “tc.spring.webflow.maxFlowExecutionSnapshots”
Setting the tc-property “tc.spring.webflow.snapshot.debug” to “true” prints out some debugging info.
This is still under investigation and not sure whether we are doing it. Research should happen in 2.7.1 timeframe.