spring-projects / spring-webflow

Spring Web Flow
https://spring.io/projects/spring-webflow
Apache License 2.0
325 stars 231 forks source link

Session Replication Optimized WebFlow Conversation Manager [SWF-1030] #299

Open spring-operator opened 15 years ago

spring-operator commented 15 years ago

Jon Osborn opened SWF-1030 and commented

Weblogic as well as other application servers, do session replication on session.setAttribute(). Since ALL of the webflow conversations are in the same attribute, ALL of the conversations get replicated each time a post/get cycle is performed. This means that lots of data is moved that wasn't tied to the 'current' conversation...particularly if you are using the continuation flow executor.

I fixed this by giving each conversation it's own slot in the session, thereby limiting replication to the conversation that was just executed. For long conversations and/or conversations that may have lots of data in them (search results?), this cuts down heavily on the network traffic without affecting anything else about how webflow works.

I attached the 3 required files to this post. The code was partially copied from the default setup in spring web flow 1.0. Also, I included some java 1.5 stuff so those still using java 1.4 will need to tweak some.


Reference URL: http://forum.springframework.org/showthread.php?t=66815

Attachments:

4 votes, 7 watchers

spring-operator commented 15 years ago

Jon Osborn commented

Keith, it would be great if this could be addressed in one of the 3.0 releases. Anyone using replication will get a large performance boost. Thanks!