首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JBoss 5中禁用集群?

如何在JBoss 5中禁用集群?
EN

Stack Overflow用户
提问于 2011-11-18 21:27:03
回答 3查看 5.4K关注 0票数 3

有人知道如何在JBoss 5.1.0中停用自动集群功能吗?我们在每台开发人员机器上运行一个JBoss,因为我们都在同一个网络中,所以它们会执行自动集群。如果我们每个人都能获得自己的组播ip,这个问题就可以解决,但网络硬件不能做到这一点。

在jboss中不是有一个开关来停用它吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-13 17:02:38

在Windows下的Eclipse下,您可以使用以下JVM属性运行服务器(请参阅Open Launch Configuration):

代码语言:javascript
复制
-Djboss.partition.name=${env_var:COMPUTERNAME}

这样,每台开发人员机器都将拥有自己的集群(如果只运行一台服务器,则只有一台服务器)。在Linux下,你需要用HOSTNAME替换COMPUTERNAME

如果您从命令行运行Windows,您将在JBoss (未测试)下使用类似于-Djboss.partition.name=%COMPUTERNAME%的命令。

请注意,使用-Djgroups.udp.ip_ttl=0 (如另一个答案中所建议的)有以下缺点:

  • 服务器启动较慢(在我的情况下为4分钟,而不是1分钟);
  • 有大量的确认警告/错误日志;
  • JGroups UDP多播仅限于本地计算机,这可能与基于JGroupds UDP的其他应用程序冲突;
  • 同一计算机上具有相同配置的其他服务器将位于同一群集中,这可能不是所需的。
票数 4
EN

Stack Overflow用户

发布于 2014-10-01 05:11:42

您可以使用不同的组播或分区名称,以避免冲突。

但是,如果您想在"production“或”“配置中全部禁用集群,则需要执行以下操作:

删除

  • farm/
  • deploy-hasingleton/
  • deploy/cluster/

在deploy/messaging/*-persistence-service.xml中,将Clustered更改为false:

代码语言:javascript
复制
<attribute name="Clustered>false</attribute>

并删除

代码语言:javascript
复制
<depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>

在conf/bootstrap/profile.xml中,替换

代码语言:javascript
复制
<bean name="BootstrapProfileFactory" class="org.jboss.system.server.profileservice.StaticClusteredProfileFactory">

使用

代码语言:javascript
复制
<bean name="BootstrapProfileFactory" class="org.jboss.system.server.profileservice.repository.StaticProfileFactory">

然后删除下面几行的"farmURIs“属性。

使用默认配置文件中的http-invoker.sar替换deploy/httpha-invoker.sar

在deployers/clustering-deployer-jboss-beans.xml,中注释掉WebAppClusteringDependencyDeployer。

在SOA-P中,如果要删除集群,则需要执行一些额外的步骤。

默认部署将server/default/deploy/jbpm.esb/hibernate.cfg.xml复制到server//deploy/jbpm.esb/hibernate.cfg.xml

  • Remove服务器// server//deploy/

//

  • *和cp -R服务器/default/deploy/riftsaw*
票数 4
EN

Stack Overflow用户

发布于 2011-11-18 21:43:10

您可以通过将多播数据包上的TTL (生存时间)设置为零来实现此目的。集群仍将启用,但在开发人员计算机上运行的JBoss服务器将不能相互定位。

启动JBoss时,设置jgroups.udp.ip_ttl系统属性,例如

代码语言:javascript
复制
-Djgroups.udp.ip_ttl=0

最有可能的情况是,您需要将其写入JBoss启动脚本中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8183127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档