启用jboss多个实例

启用jboss多个实例,可能会遇到端口冲突。 比如http端口,jms端口等等。

解决方案:
默认情况下,jboss的端口定义在内置Tomcat的server.xml里面配置。如果开启多个实例,那么就要依次更新这几个文件的端口,相当麻烦。jboss提供了一个很方便的mbean来
统一管理多实例配置 --ServiceBindingManager。
基本思想如下:
jboss提供一个服务器端口绑定文件--xxx-bindings.xml,里面定义了多个以server-name为标志的端口,它就作为统一的端口绑定配置文件。然后在每个服务器实例的jboss-server.xml中注册一个端口绑定服务ServiceBindingManager,该服务用参数
   --ServerName:指定xxx-bindings.xml对应的端口配置
   --StoreURL: 指定xx-bindings.xml文件的位置
一旦该服务注册,则Tomcat下server.xml的端口设置被忽略,而启用新的端口配置。
实施步骤:
1.拷贝${jboss_home}\docs\examples\binding-manager\sample-bindings.xml的文件到${jboss_home}\server下,重新命名为server-bindings.xml(可以不拷贝,拷贝是因为结构清晰)。 文件里面已经内置了4个server的端口绑定,因此在默认情况下,你至少可以启用4个jboss服务实例。

2. 修改server-bindings.xml文件中需要启动的ServerName的tomcat启动端口.例如:ports-default的tomcat<binding port="8080"/>修改为<binding port="8081"/>;ports-default的tomcat<binding port="8180"/>修改为<binding port="8888"/>

3. 修改每个jboss服务实例下的jboss-server.xml文件,把Service Binding配置的注释去掉,修改其中参数serverName和server-bindings.xml文件的路径。
比如default下的的jboss-server.xml文件ServiceBindingManager改为:
  

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

test下的的jboss-server.xml文件ServiceBindingManager改为:
  

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

4. (这个步骤不知道是不是必须的)修改每个jboss服务实例下的Tomcat的配置文件server.xml文件的端口,使其与server-bindings.xml文件中的端口相对应.例如:default下的server.xml中的
<!-- A HTTP/1.1 Connector on port 8080 -->为8081;test下的server.xml中的
<!-- A HTTP/1.1 Connector on port 8080 -->为8888;

5. 启动各个服务实例。 run.bat -c xxx。假如你有2个实例default, test,则运行:
run.bat -c default
run.bat -c test

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值