`

jboss 同机多实例配置(转载)

阅读更多
我们经常会遇到这种情况,有时候希望在同一台机器上部署若干个JBoss实例,上面运行不同的应用程序,这样的话无论由于什么原因需要对某个JBoss实例进行关闭、重启等操作都不会影响到其它实例上面的应用的正常运行,我们知道JBoss启动时默认发布的不同的服务需要开放一些端口,如果只是简单地拷贝两套JBoss或者在一个JBoss中启动多个配置的话,同时启动多个JBoss实例会由于端口冲突而导致JBoss无法启动。

遇到这种情况可能大家最容易想到的解决办法就是既然端口冲突的话,那我就修改端口呗,这种方法当然也可以,但是JBoss不像Tomcat那样,Tomcat只需要修改两三个端口即可,而JBoss默认发布的服务端口包括http协议的8080、AJP协议的8009、JNP服务的1099、RMI命名服务的1098、RMI/JRMP invoker的4444端口等,而且不是在同一个文件中配置的,有些在server.xml中,有些在配置下的jboss-service.xml文件中,手工修改不但繁琐而且极易出错,尤其是实例多的话。

不过幸运的是JBoss提供了另外一种简便的方法:Binding Manager服务,不需要繁琐的端口配置就可以实现多实例运行端口不冲突,详细步骤如下:

以JBoss 4.2.3 GA为例,假设server下有两个不同的配置node1、node2(名字无所谓,default1、default1也行),%JBOSS_HOME%表示JBoss安装目录。

关键文件是%JBOSS_HOME%\docs\examples\binding-manager\sample-bindings.xml,该文件默认情况下定义了4组不同的端口配置(port-default、port-01、port-02、port-03),也就是说默认情况下支持同一台机器部署4个JBoss实例。

1、node2配置如下
修改node2/conf/jboss-service.xml文件,配置Service Binding(默认注释掉)如下:

<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>


这里配置node2使用的是port-01端口配置。

2、node1配置如下
node1默认可以不用配置,正常启动即可,这种情况下使用的是JBoss提供的默认端口8080、8009等,也可以参照第一步的配置,只需修改“ServerName”与node1不一样即可,如ports-02,注意只能是在sample-bindings.xml中定义的四组端口范围内。

3、启动实例

run.bat -c node1 -b 192.168.10.100
run.bat -c node2 -b 192.168.10.100

4、访问地址
node1访问地址:http://192.168.10.100:8080(默认不配置的情况)或者http://192.168.10.100:8280(使用port-02的情况)
node2访问地址:http://192.168.10.100:8180(使用port-01的情况)

大家也许注意到端口的规律,默认情况下是8080,其它实例的端口依次在8080的基础上增大100,对应关系如下:

port-default     8080
port-01          8180
port-02          8280
port-03          8380

当然其他端口如AJP协议端口8009也分别变成8109、8209、8309、8409,其它以此类推。

5、注意事项
1)上述配置的前提是每个实例的server.xml中HTTP协议的端口配置均为默认的8080,若该端口修改过,则需要修改sample-bindings.xml中port-default中的默认8080端口为server.xml中HTTP协议端口。
2)上述方法也同样适用于同一台机器上面部署多个JBoss的情况而不是同一个JBoss下多个配置。
3)一般情况下默认的4组端口足够使用,若仍不够,可自行添加其他port组。
4)若可能,仍是推荐不用的实例绑定到不同的IP地址上。

PS.

同一机器多JBoss实例常用场景:
1)32位JVM限制无法使用超过2G的内存,通过多实例可以充分利用服务器上大内存。
2)不用JBoss实例用于不同用途:开发环境、测试环境等。
3)希望在同一个机器上部署不同版本的JBoss。
4)希望在同一个机器上部署基于不同JVM的JBoss(不同应用对JVM要求不一样的情况)。
等等

原文地址:http://www.jbosschina.org/viewthread.php?tid=136
分享到:
评论

相关推荐

    在jboss同时启动两个实例

    ### 如何在JBoss上同时启动两个实例 在企业级应用服务器JBoss中,有时我们需要在同一台物理机器上运行多个独立的JBoss实例。这在测试环境或开发环境中非常常见,...希望本文能帮助你在JBoss中实现多实例的配置与管理。

    jboss多开配置

    多实例配置通常指的是在同一台物理机器上运行多个独立的JBoss实例,这对于测试环境、开发环境或某些特定的应用场景非常有用。 ### JBoss多开配置知识点 #### 1. 理解JBoss多实例配置的基本概念 - **多实例**:在同...

    jboss配置入门,jboss的初级配置

    jboss配置入门 jboss系统是一种基于Java的应用服务器,具有高性能、可扩展、安全性强等特点。在本文中,我们将对jboss的基本配置进行介绍,包括其文件夹结构、配置文件、负载均衡配置等。 jboss文件夹结构 jboss的...

    MyEclipse中配置JBoss

    【标题】:“MyEclipse中配置JBoss” 在IT行业中,MyEclipse是一款深受开发者喜爱的集成开发环境(IDE),尤其对于Java EE项目开发来说,它提供了强大的支持。而JBoss则是一个开源的应用服务器,广泛用于部署和管理...

    jboss热部署配置

    JBoss是一款著名的开源Java应用...总之,JBoss的热部署配置涉及修改配置文件、选择合适的部署目录和类加载器策略,以及可能使用辅助工具。正确配置后,开发者可以高效地测试和调试应用程序,而不必频繁地重启服务器。

    Jboss安装配置手册

    Jboss 安装配置指南 本指南旨在指导用户安装和配置 Jboss 中间件,包括数据库产品的安装、初始化数据库、Jboss 中间件的安装和配置服务。以下是详细的安装和配置步骤: 一、数据库产品的安装 在安装 Jboss 之前,...

    JBoss篇:安装与配置

    JBoss篇:安装与配置 一、安装与配置 在本文中,我们将下载和安装 JBoss 4.2.1.GA 版本。下载地址为 http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=16942&release_id=523619。下载完成...

    jboss服务器下的jms实例

    【JBoss 服务器下的 JMS 实例】 Java 消息服务 (JMS) 是 Java 平台中用于处理异步消息传递的标准API,它在面向服务架构 (SOA) 中扮演着关键角色,特别是在需要与外部系统进行异步通信的企业环境中。JBoss 服务器...

    jboss esb 实例

    jboss esb 实例及讲解,我收集的资料整理做成书

    JBoss在MyEclipse中的配置及说明

    - **Server Configuration**:这里可以配置JBoss的特定配置文件,如`standalone.xml`或`domain.xml`,以及相关的JVM参数。 - **Classpath**:定义服务器启动时的类路径,通常包括应用程序的库和依赖。 通过以上...

    ejb-jboss-web实例的workspace

    【ejb-jboss-web实例的workspace】是一个专用于开发和部署EJB(Enterprise JavaBeans)与Web应用程序的工作环境,基于JBoss应用服务器。这个工作空间集合了开发所需的各种组件、配置文件以及源代码,便于开发者进行...

    在JBoss中配置多个数据库和数据源

    "在JBoss中配置多个数据库和数据源" 在JBoss中配置多个数据库和数据源是非常复杂的,因为JBoss是一款非常强大的J2EE应用程序服务器。配置多个数据库和数据源需要了解JBoss的配置选项和数据源的配置信息。 首先,...

    JBOSS建立JMS应用实例

    总结来说,JBOSS中的JMS应用实例涉及了JMS的基本概念、JBOSST的配置、代码编写以及具体的应用场景。通过实践这些步骤,开发者可以掌握如何在JBOSST环境中利用JMS进行高效的数据通信。同时,提供的文档和项目文件为...

    Jboss配置虚拟路径

    ### JBoss配置虚拟路径详解 在企业级应用服务器领域,JBoss AS(Application Server)作为一款开源的Java应用服务器,提供了强大的平台支持多种Java EE应用的部署与运行。虚拟路径的配置是JBoss中一项非常实用的...

    JBOSS log4j 配置

    JBOSS log4j 配置 Log4j 是一个功能强大且灵活的日志记录工具,广泛应用于 Java 项目中。然而,在 JBOSS 服务器中使用 Log4j 时,可能会遇到一些冲突和配置问题。本文将详细介绍如何解决 JBOSS 和 Log4j 的冲突,...

    jboss服务器的详细配置

    配置JBoss服务器是确保其安全性和适应性的重要步骤。以下是对标题和描述中涉及的JBoss配置知识点的详细说明: 一、设置控制台登录窗口 默认情况下,JBoss的JMX控制台(http://localhost:8080/jmx-console)无需...

    JBoss Rules 初学实例

    【JBoss Rules 初学实例】是针对Drools规则引擎的一个入门教程,适用于初次接触该框架的开发者。Drools是一款开源的业务规则管理系统,它允许开发人员以声明式的方式编写业务规则,使得复杂的逻辑处理变得更加简洁...

    jboss7集群配置方案说明书

    总结来说,JBoss7+Apache集群和Solr集群的配置涉及到多个层面,包括服务器配置、安全策略、负载均衡以及分布式服务的同步和部署。正确实施这些步骤,可以构建出高可用、高性能的IT系统,满足企业级应用的需求。在...

    一机多开JBoss需要修改的端口号

    通过上述步骤,可以有效地在一机上部署并运行多个JBoss实例,避免端口冲突问题,为开发测试或资源受限的生产环境提供灵活的解决方案。需要注意的是,每次修改配置文件后都应仔细检查并测试,确保所有JBoss实例都能够...

Global site tag (gtag.js) - Google Analytics