The problem looks to be an abuse of managed beans in session scope. Since you say you work with JSF 1.2 and RichFaces 3, I would recomend to change your managed beans from session scope to request scope and add the @KeepAlive
annotation to those managed bean that must behave as view scope.
Your bean would look like
@KeepAlive
public class NoSessionScopeAnymore {
//fields, constructor, getters and setters, methods...
}
More info about the KeepAlive annotation or as component: <a4j:keepAlive>
From JSF 2 you won't need this since you can use the @ViewScoped
that solves the bridge between request and session. More info about managed bean scopes:
- https://stackoverflow.com/a/7031941/1065197
- Communication in JSF 2 - Managed Bean Scopes
- is Sessionscope put any impact on the application performance? (is tagged as JSF 2 but this applies for JSF 1.2 as well)