[ 
https://issues.apache.org/jira/browse/MYFACES-3772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13770651#comment-13770651
 ] 

Thomas Andraschko commented on MYFACES-3772:
--------------------------------------------

I think we should do it the same as we did in OWB.
Creating a bag/container with all sessionScoped beans and always store this 
container in the session after each request. (this should be the same for 
viewscoped beans, too)
In this container we should also store a server identifier / jvm_id (in OWB 
it's just a static UID).
So we can restore the beans from the container if the jvm_id is another as from 
the last request.

[~prasenjitpurohit]
As workaround, you can use ObenWebBeans and CDI instead of JSF Beans or using 
another failover manager for tomcat -> 
http://code.google.com/p/memcached-session-manager/
                
> SessionScoped beans are not synchronizing between tomcat 6 cluster
> ------------------------------------------------------------------
>
>                 Key: MYFACES-3772
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3772
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 2.1.12
>         Environment: Tomcat6 + JDK7 + Win7 + Apache httpd load balancer 
> (without sticky session)
>            Reporter: Prasenjit Purohit
>            Assignee: Leonardo Uribe
>
> I am using myfaces in our project. We use some session scoped beans. Let me 
> explain the error reproduction steps with two Tomcat6 nodes and Apache httpd 
> load balancer (without sticky session). web.xml has <distributable/> element. 
> Other session variables are synchronizing well.
> 1. Start node 1
> 2. Set some value in the property of a session bean
> 3. Value is available for get on node 1
> 4. Start node 2 same value is available on node 2
> 5. Set new value on the property of node 1
> 6. New value is available on node 1
> 7. Node 2 still contains the old value
> 8. Restart node 2
> 9. Node 2 now contains new value
> 10. Set new value on node 2
> 11. New value available on node 2 but not on node 1
> 12. Restart node 2
> 13. Node 2 has the old value taken from Node 1
> No exception is raised during the process. Session bean implements 
> Serializable interface.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to