介绍一下实验的原因:朋友因为历史原因开发伊始就是使用的jboss的production配置,众所周知这个配置下启动时默认开启了集群服务。这个时候会产生大量的节点广播信息,所以当他们改成硬件集群时是不希望有这些信息产生的,于是就希望在既有jboss配置的基础之上删除cluster服务。
[b]一[/b]
测试版本:JBoss-eap-4.3
实验过程:将jboss的production复制出一份,命名为production1
分别启动两个实例,可以看到输出
证明已经节点之间能够相互发现。
对production1做以下修改:
1. 删除server/production1/farm/
2. 删除server/production1/deploy-hasingleton/
3. 删除server/production1/deploy/jboss-web-cluster.sar,同时需要删除server/production1/deploy/jboss-web.deployer/META-INF/jboss-service.xml中对 jboss.cache:service=TomcatClusteringCache的依赖,即删除或者注释掉如下代码:
4. 删除server/production1/deploy/deploy.last/farm-service.xml
5. 删除server/production1/deploy/deploy-hasingleton-service.xml
6. 删除server/production1/deploy/cluster-service.xml
7. 删除server/production1/deploy/ejb3-clustered-sfsbcache-service.xml
8. 删除server/production1/deploy/ejb3-entity-cache-service.xml
9. 将server/production1/deploy/hahttp-invoker.sar 替换为default下的http-invoker.sar
10. 将server/production/deploy/jboss-messaging.sar 替换为default下的jboss-messaging.sar
11. 将hajndi-jms-ds.xml替换成default下的jms-ds.xml
[b]二[/b]
测试版本:JBoss-eap-5.1
实验过程:将jboss的production复制出一份,命名为production1
1. 删除production1/deploy-hasingleton/
2. 删除production1/farm/
3. 删除production1/deploy/cluster
4. 因为缺少farm目录,启动时会产生一些错误。可以通过修改/production1/conf/bootstrap/profile.xml 文件,将BootstrapProfileFactory bean中包含的下列代码删除或者注释
5. 然后进入production1/deploy/messaging 目录,修改*-persistence-service.xml文件 ,关闭集群
然后删除或者注释下列代码:
这样就可以完全删除了缓存。
[b]一[/b]
测试版本:JBoss-eap-4.3
实验过程:将jboss的production复制出一份,命名为production1
分别启动两个实例,可以看到输出
2011-01-05 23:13:12,390 INFO [org.jboss.cache.TreeCache] viewAccepted(): [192.168.1.102:2496|0] [192.168.1.102:2496][192.168.1.102:4344]
证明已经节点之间能够相互发现。
对production1做以下修改:
1. 删除server/production1/farm/
2. 删除server/production1/deploy-hasingleton/
3. 删除server/production1/deploy/jboss-web-cluster.sar,同时需要删除server/production1/deploy/jboss-web.deployer/META-INF/jboss-service.xml中对 jboss.cache:service=TomcatClusteringCache的依赖,即删除或者注释掉如下代码:
<depends>jboss.cache:service=TomcatClusteringCache</depends>
4. 删除server/production1/deploy/deploy.last/farm-service.xml
5. 删除server/production1/deploy/deploy-hasingleton-service.xml
6. 删除server/production1/deploy/cluster-service.xml
7. 删除server/production1/deploy/ejb3-clustered-sfsbcache-service.xml
8. 删除server/production1/deploy/ejb3-entity-cache-service.xml
9. 将server/production1/deploy/hahttp-invoker.sar 替换为default下的http-invoker.sar
10. 将server/production/deploy/jboss-messaging.sar 替换为default下的jboss-messaging.sar
11. 将hajndi-jms-ds.xml替换成default下的jms-ds.xml
[b]二[/b]
测试版本:JBoss-eap-5.1
实验过程:将jboss的production复制出一份,命名为production1
1. 删除production1/deploy-hasingleton/
2. 删除production1/farm/
3. 删除production1/deploy/cluster
4. 因为缺少farm目录,启动时会产生一些错误。可以通过修改/production1/conf/bootstrap/profile.xml 文件,将BootstrapProfileFactory bean中包含的下列代码删除或者注释
<!-- Optional list of URIs that will be kept in sync across the cluster.
Requires deploy/cluster/farm-deployment-jboss-beans.xml to be
deployed as well.
-->
<property name="farmURIs">
<list elementClass="java.net.URI">
<value>${jboss.server.home.url}farm</value>
</list>
</property>
5. 然后进入production1/deploy/messaging 目录,修改*-persistence-service.xml文件 ,关闭集群
<attribute name="Clustered">false</attribute>
然后删除或者注释下列代码:
<depends optional-attribute-name="ChannelFactoryName">
jboss.jgroups:service=ChannelFactory</depends>
这样就可以完全删除了缓存。