启用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
分享到:
相关推荐
4. 启动集群:启动多个Jboss实例,并确保它们能互相发现和通信。 三、ActiveMQ高可用部署 ActiveMQ作为Java消息服务(JMS)的实现,用于实现应用程序之间的异步通信。在Linux下部署ActiveMQ集群,以提高消息传递的...
【描述】:Windows上的JBoss集群搭建涉及多个步骤,包括服务器复制、负载均衡和通信机制的设置。这篇资料集合了网络上的精华知识,旨在协助读者快速掌握集群配置技巧,顺利实施项目。 【标签】:Windows、JBoss、...
- 单例服务在集群环境中确保在整个集群范围内只存在一个实例。 **2. 调度服务** - 提供任务调度功能,适用于需要在集群中执行定时任务的场景。 **3. 通知服务** - 用于处理集群内节点间的消息传递和通知。 #### ...
通过负载均衡,可以将大量的网络请求分发到多个服务器上,避免单一服务器过载,确保服务的稳定性和响应速度。在本案例中,描述中提到了使用httpd-2.2.17(Apache HTTP Server 2.2.17)与mod_jk.so模块来实现这一目标...
如果在同一台计算机上安装多个JBoss实例,则需要修改其中一个实例的监听端口。这可以通过修改`server\default\conf\jboss-service.xml`文件中的`<Connector>`标签来实现。 ##### 3. 添加集群支持库 将以下库文件从...
2. **自定义配置**:根据项目需求,可以修改`standalone.xml`或创建特定配置文件,例如`standalone-full.xml`,以启用更多功能。 ### 七、安全与监控 1. **安全管理**:JBoss提供了一套完整的安全管理框架,包括...
其集群配置允许将多个服务器实例组织成一个逻辑单元,从而实现负载均衡、故障转移和资源共享。配置WebLogic集群主要涉及以下几个步骤: 1. **创建集群**:在WebLogic管理控制台中,管理员需要创建一个新的集群,并...
2. EAR部署:如果EJB服务多个模块或包含其他资源,应创建一个EAR(Enterprise Archive)文件。在`META-INF`目录下创建`application.xml`,配置EJB和关联的WAR或JAR文件。 六、部署EJB到JBoss 1. 将EAR或WAR文件复制...
- **集群配置**:通过配置多个JBoss实例,实现高可用性和负载均衡。 - **模块化**:JBoss的模块系统允许你精细控制依赖关系,提升性能和可维护性。 - **热部署**:启用热部署功能,使得在不中断服务的情况下更新应用...
添加JBoss 5.1服务器实例。 3. 配置JBoss 5.1的运行环境。 4. 设置JBoss的基本运行参数。 5. 启动JBoss服务器。 6. 发布应用程序到服务器上。 #### 三、安装与配置 - **安装**: - 确保服务器已安装JDK 1.6...
JBoss集群是通过将多个JBoss实例组合起来形成一个逻辑上的单一实体来实现高可用性和负载均衡的技术方案。这种集群可以有效地提高系统的稳定性和性能,尤其是在处理大量并发请求时。 #### 二、JBoss集群的关键特性 ...
JBoss集群通过状态复制服务,如HASessionState,实现会话状态在多个节点间的同步,确保即使某个节点故障,其他节点也能无缝接管其服务,提高系统的高可用性。 三、具体集群化服务配置 ### 1.2 Clustered JNDI ...
JBoss 集群是指由多个 JBos 应用服务器实例组成的集合,这些实例通过特定协议通信,共同处理客户端请求。集群可以提高系统的可用性、可伸缩性和性能。其中每个应用服务器称为一个节点(Node)。 ##### 2.2 JBoss 集群...
但是,一级缓存的大小有限,而且对于多个并发的Session,它们各自维护自己的缓存,可能会导致数据不一致。因此,引入了二级缓存,它可以在多个SessionFactory之间共享,提供了更广泛的数据缓存范围。 JBoss ...
JBoss提供了管理控制台,方便管理员监控和管理JBoss实例。 1. **访问控制台**:通过浏览器访问`http://localhost:8080/jmx-console/`来登录控制台。 2. **配置安全认证**: - **编辑`web.xml`**:去除`...
- 介绍了一种高效地将多个J2EE项目打包在一起的方法。 - 包括使用共享库、模块化设计等技巧来减少重复工作。 - **恢复开发环境**: - 提供了一套完整的步骤来帮助读者重建本书提供的开发环境。 - 包括软件安装、...
- **Red Hat** 是文档的发行方,拥有包括JBoss EAP在内的多个产品。 - **Red Hat Enterprise Linux** 是Red Hat公司的企业级Linux操作系统。 - **JBoss** 是JBoss EAP的开发和运营公司。 - **Java** 是Oracle公司的...