问题描述:
启用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
分享到:
相关推荐
二.JBOSS的配置 1. JBoss日志设置 2. web 服务的端口号的修改 3. JBoss 的安全设置 3.1 jmx-console 登录的用户名和密码设置 3.2 web-console 登录的用户名和密码设置 4. JBoss 数据源的配置 5. JMS使用和设置 5.1 ...
为项目导入设置JBDS,添加soa-p服务器(将启动配置中的服务器VM参数调整为'-Xms1303m -Xmx1303m')(注意:由于需要单独创建服务器实例 ) 进口项目 将 esb 和 bpel 项目部署到 soa-p 服务器 启动 soa-p 服务器 登录...
jBPM4与Spring框架集成 296 18.1 集成的目标 297 18.2 为集成配置jBPM4 297 18.3 为集成配置Spring 299 18.4 使用 301 18.5 测试 302 18.6 小结 302 第19章 jBPM4与JBoss应用服务器集成 303 19.1 流程定义打包部署 ...
5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 ...
5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行...
5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 ...
5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 ...
5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项...
5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 ...
5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 ...
5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 ...
mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行...