Seam 框架得益于与JBoss的无缝集成,以及EJB3的使用,天生具有高集群特性。本文简单介绍JBoss Seam配置集群的方法。配置方法如下:
首先是准备工作:
1.配置好JBoss集群,确保集群可以正常工作。
2.配置好Seam工程所需要的数据源。将数据源放入到主JBoss的farm文件夹内。
3. 最重要的是确保所有:session类型和 conversation-scoped 类型的对象,也就是需要服务器间同步的对象,需要可以被序列化,实现 org.jboss.seam.core.Mutable接口。该接口包含一个
clearDirty(),用来告诉seam是否需要复制。
开始正式配置:
1.修改文件WEB-INF/web.xml,在<web-app>标签下
加入<distributable/>标签。
2.修改文件WEB-INF/components.xml,在<core:init>标签内添加 distributable="true" 属性。
3.将工程放入到主JBoss的farm文件夹内。
4.启动JBoss,查看系统是否工作正常。产看另外的同组JBoss是否复制了项目和数据源,分别使用JBoss各自的IP及端口查看项目工作是否正常。
另外可以在JBoss jmx-console查看session是否被复制。JBoss5.1位置:jboss.cache-->standard-session-cache-->printCacheDetailsAsHtml方法
参考:
http://docs.jboss.com/seam/latest/en-US/html/ClusteringAndEJBPassivation.html#d0e29958