我正在使用Tapestry 5.3.3对应用程序进行群集。通过将HttpSession复制到集群中的所有节点来完成集群。通过序列化HttpSession来进行复制。当容器尝试序列化会话时,会引发NotSerializableException,因为org.apache.tapestry5.internal.SelectModelImpl不可序列化。 Tapestry通过ClusteredSessionImpl类将该类添加到会话中。所以它确实出现了Tapestry希望通过保存会话的相关信息来实现群集友好。有关如何解决此异常的任何想法?SelectModelImpl不可序列化阻止群集中的会话复制
0
A
回答
1
Tapestry用户邮件列表提供了一些很好的建议。显然,应该避免将SelectModel保存到会话中。这里有几个回应 -
是您的自定义代码是@Persist的SelectModel?如果是这样,你可以@改写基础集合,并在UI中每次构建SelectModel。你应该记住,HTTPSession的使用应该保持在最低限度,特别是在集群环境中。 HTTPSession的使用不能很好地扩展。 你真的需要在会话中坚持列表吗?你可以在会话中存储一个用户标识(或其他过滤参数),并在每次从服务需要时查找列表?如果您稍后发现查找代价昂贵,则可以查看服务级别的缓存。
你应该阅读: http://tapestry.apache.org/performance-and-clustering.html
不要@Persist或@SessionState SelectModel。这是一个坏主意。正如兰斯所说,如果你真的需要坚持它,坚持一个List来创建SelectModel,而不是SelectModel本身。
相关问题
- 1. 会话复制中的Tomcat集群
- 2. 会话复制和集群在tomcat中?
- 3. Liferay的集群会话复制
- 4. 什么会阻止类可序列化?
- 5. 无法序列化群集中的会话
- 6. Jboss会话复制:无法建立群集,禁用群集
- 7. 会话复制GlassFish中不工作的多节点集群
- 8. 粘性会话jboss会话复制群集
- 9. 是否可以在tomcat中进行会话复制,而不会使会话属性可序列化?
- 10. EC2上的Glassfish集群中的会话复制
- 11. 我如何管理weblogic集群中的会话复制
- 12. 群集会话不复制到组节点
- 13. Weblogic群集会话复制类型不起作用
- 14. 从IntelliJ IDE本地运行时阻止Tomcat序列化会话
- 15. jsTree copy_modifier:false - 不会阻止节点复制!
- 16. Dropwizard会话群集
- 17. 带有会话复制的tomcat集群中的jsf应用程序
- 18. Coldfusion多服务器集群会话复制 - 在sessionscope中的阵列
- 19. Hazelcast集群:序列化和复制问题
- 20. 会话被阻止
- 21. 集群上的Tomcat 7.0.47会话复制问题
- 22. Nuxeo的集群 - 负载平衡器 - 会话复制失败
- 23. 是tomcat集群会话复制的唯一方式吗?
- 24. 会话复制\ tomcat集群的替代方案
- 25. 的Tomcat 6集群 - 验证会话复制
- 26. 序列化/反序列化“NHibernate会话”,懒化官方化错误(“StateServer模式”用于集群)
- 27. 复制不可序列化(COM)对象
- 28. 群集与复制
- 29. 集群VS复制
- 30. ElasticSearch群集复制