如何设置 JBoss 5.1.0.GA 来运行多个实例?

如何设置 JBoss 5.1.0.GA 来运行多个实例?

有没有人有在具有 1 张网卡的同一台机器上设置多个 JBoss 5.1.x 实例的经验或建议?

这是我所做的:

  1. 将 JBoss 5.1.0.GA 安装到 c:\myjboss 1.5。我将 server/default 目录复制到 server/ports-01 和 server/ports-02,这样它们就有了自己的配置。我的假设正确吗?
  2. .\运行.bat -c 端口-01
  3. .\运行.bat -c 端口-02

此时有两个实例,但第二个实例无法正确加载,这可能是由于一些端口冲突。例如:两个实例的 http 端口最终都是 8080,这是从C:\myjboss\server\all\conf\bindingservice.beans\META-INF\bindings-jboss-beans.xml文件。在服务器加载的早期阶段,它显然从同一文件中的第 63 行获取值。我不知道为什么它从第 49 行获取端口配置的一部分,而从第 63 行获取另一部分。困惑。

我也尝试过: .\run.bat -Djboss.service.binding.set=ports-01 -c ports-01 但并没有什么区别。

对于我做错什么有什么想法吗?

答案1

我自己让它工作了。答案是以下命令:

.\run.bat -Djboss.service.binding.set=ports-01 -c ports-01

.\run.bat -Djboss.service.binding.set=ports-02 -c ports-02

另外,我必须将 server/default 复制到 2 个新目录,分别名为 server/ports-01 和 server/ports-02 ...

然后,在 server\ports-01\conf\bindingservice.beans\META-INF 中,我必须从中删除对实例 ports-02、ports-03 和“default”的引用。

然后,在 server\ports-02\conf\bindingservice.beans\META-INF 中,我必须从中删除对实例 ports-01、ports-03 和“default”的引用。

然后,最后,我从服务器目录中的默认安装中删除了“标准”、“web”和“默认”目录。

然后,我使用上述命令运行了两个服务器,并且盒子外面, 他们工作。

另外,这里有一个用于运行集群而不是单独实例的批处理文件:

@echo off

start .\bin\run.bat -c ports-01 -g MyLocal -u 239.255.100.100 -b 127.0.0.1 -Djboss.messaging.ServerPeerID=1 -Djboss.service.binding.set=ports-01

@echo Wait until first server finishes starting and then hit 
@echo any key to start the second server in the cluster...
pause

start .\bin\run.bat -c ports-02 -g MyLocal -u 239.255.100.100 -b 127.0.0.1 -Djboss.messaging.ServerPeerID=2 -Djboss.service.binding.set=ports-02

答案2

您还可以配置多个 jboss 实例,重命名 run.bat 并创建一个运行 -c instance-name 的新 run.bat 。 然后,您将能够将 Jboss 作为服务启动并正确调用 run.bat 。

答案3

除了使用 BindingManager 之外,您还可以为网络接口分配多个地址(至少在您控制网络的情况下),并让每个 jboss 实例使用其自己的地址运行(使用选项-brun.(bat|sh)。这在本地环回接口(127.0.0.1、127.0.0.2,...)上也是可能的。

答案4

如果您不使用 RMI 或远程处理,您实际上可以调整 jboss 的配置以仅使用一个端口。这是一项非常烦人的工作(大量的配置文件),但如果确实需要,这是可能的。

操作方法: - 删除所有不使用的服务 - 如果无法删除调用者,您可以设置 transport="local" 以便它在内存传输中使用 - 将剩余服务的端口设置为 -1 - 设置以下系统属性以禁用 arjuna 管理端口:com.arjuna.ats.arjuna.coordinator.transactionStatusManagerEnable=NO com.arjuna.ats.arjuna.recovery.recoveryListener=NO

您绝对需要更改的配置文件: - jboss-service.xml - 禁用所有不需要的服务 - legacy-invokers-service.xml(如果可能,删除旧服务) - messages/messaging-bisocket-service.xml :将传输方式从 bisocket 改为本地

还会有更多文件。

剩下的就是一个 jboss,它监听 web 端口和另一个随机选择的端口,我还不知道它的用途。这将使在一台主机上运行多个实例变得容易。

相关内容