EJB3.0+JBOSS4.2.2GA集群

<!--StartFragment -->

 首先调整JBOSS  jar文件,拷贝到正确的目录

注意jboss默认目录default目录是不支持集群的,要使其支持集群,我们要将

1 $JBOSS_HOME/all/lib下的 jbossha.jar, jgroups.jar和jboss-cache-jdk50.jar 拷贝到$JBOSS_HOME/default/lib 目录下.

2  $JBOSS_HOME/server/all/deploy目录里的cluster-service.xml 和jboss-web.cluster.sar文件夹拷贝到$JBOSS_HOME/server/default/deploy目录下.

jbossha.jar 用于加载org.jboss.ha.framework.server.ClusterPartition, 
jgroups.jar 用于支持Jboss集群底层通信 
jboss-cache-jdk50.jar 用于加载org.jboss.cache.aop.TreeCacheAop

 

   然后配置项目 列如我的 jilaibao.url=192.168.0.53:1099  这里只你集群中的任何一台服务器IP。 有人说多个但是经过实例表明 只要配置集群中一台IP即可

 

最后把所有EJB 接口实现类 加上@Clustered这个注解就大功告成

<!--EndFragment-->

<!--StartFragment -->

EJB3.0+JBOSS4.2.2GA集群
我部署了两台 机器 一台是192.168.1.44  一台是192.168.0.53
应用配置连接的是192.168.0.53.
上图演示的是 当192.168.0.53 挂掉了 应用会自动去连接192.168.1.44这台服务
请注意图片中第八行 dead members 表示该服务已经挂掉
<!--EndFragment-->
 
apache  mod_jk做负载均衡的话 还需要单独修改每台服务器下Jboss

%JBoss_Home%\server\all\deploy\jboss-web.deployer\server.xml

修改下面代码:

<Engine name="jboss.web" defaultHost="localhost">

修改为:

<Engine name="jboss.web" defaultHost="localhost" jvmRoute="Node1">

其中 jvmRoute是用来让apache识别的节点名称,一个节点一个名称,注意不要有重复的(可以结合IP设置)。

 

同理编辑其他服务器下的%JBoss_Home%\server\all\deploy\ jipuNode1\server.xml

 

注意:把jvmRoute设置为node2,可以设置成别的只要各服务器的不重复就行,但是要和Apache的workers.properties下的配置一致。

 

<!--EndFragment-->
 
 
reloadable="true"  加入到 \server\default\deploy\jboss-web.deployer  进行热部署  context.xml