运行 相同的 JBoss 服务器在两个不同的端口

Run the same JBoss server in two different ports

我想在同一个 JBoss 服务器上执行我的 java Web 应用程序(ear 部署在服务器中),但在 两个不同的端口

一个用于开发,它将携带8080,另一个用于QA测试,它将使用8180.

有人可以指导我使用 JBoss 做这件事吗?

我尝试了几种方法,但最终都出错了。

我不想使用两个 JBoss 服务器,而是 运行 使用两个不同端口的 JBoss 服务器中的应用程序。例如。 80808180

在搜索和测试了很多方法之后,我找到了一种方法,可以在 JBoss 服务器和 运行 两个端口上部署我的 java 网络应用程序80808180.

一台 JBoss 服务器从两个端口(8080 和 8180)提供服务

首先,您需要相应地构建 QA EARDevelopment EAR

其次,转到 JBoss 服务器位置并找到以下路径。

D:\Servers\jboss-4.2.3.GA\server

在此位置,您需要为 QA 创建新的服务器环境,在我的例子中,我将其命名为 server_uat

现在文件夹结构应该如上所示。

default 文件夹中复制以下文件夹并将其粘贴到 server_uat 文件夹中,

  • conf

  • 部署

  • lib

现在您可以部署 QADev 构建到服务器所需的deploy 文件夹的开发构建 defaultdeploy 文件夹的 QA 构建 server_uat

现在进入 server_uat 文件夹并编辑以下路径中的以下文件

D:\Servers\jboss-4.2.3.GA_UAT\server\server_uat\conf\jboss-service.xml

然后在XML文件中搜索这个区域,开始编辑mbean代码片段

 <!-- ==================================================================== -->
   <!-- Service Binding                                                      -->
   <!-- ==================================================================== -->

编辑应按如下方式进行。

<attribute name="ServerName">ports-01</attribute>

ports-01 值添加到 <attribute name="ServerName">________</attribute>

ports-01 refers to 8180 port
ports-02 refers to 8280 port
ports-03 refers to 8380 port

这些由 JBoss 服务器定义,以便易于配置

全部完成后,使用命令提示符转到 D:\Servers\jboss-4.2.3.GA_UAT\bin 并执行 run.bat 文件。

然后再次打开命令提示符并使用以下命令执行 run.bat 文件以启动和 运行 新创建的 server_uat 服务器实例

./run.bat -c server_uat

现在使用两者检查应用程序,

http://localhost:8080/login.do //Dev
http://localhost:8180/login.do //QA

mbean 更改后的代码片段

 <mbean code="org.jboss.services.binding.ServiceBindingManager"
     name="jboss.system:service=ServiceBindingManager">
     <attribute name="ServerName">ports-01</attribute>
     <attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>
     <attribute name="StoreFactoryClassName">
       org.jboss.services.binding.XMLServicesStoreFactory
     </attribute>
   </mbean>