在工作中遇到的,如何在一个jboss中运行多个节点(segment)。

我使用的环境是win7、jboss5、jboss6、JDK6

1、jboss5下运行多个实例

第一步不用说,首先要在环境变量中设置好环境变量。

进入jboss5的server目录下,首先能看见的是default文件夹,要设置多个segment,首先将default文件复制出一份,我将其取名为node1.

完成这步后,如果不修改任何的配置文件,那么其端口依然为8080,也就是说依然只能启动一个,但是如果改了..\server\default\deploy\jbossweb.sar\server.xml中的端口,那也仅仅只是改了访问的端口,若启动第二个segment会出现端口被占用等异常。

所以这里要改的是..\server\segment\conf\bindingservice.beans\META-INF\bindings-jboss-beans.xml文件。

打开这个文件,可以看见ports-default、ports-01等一系列的配置,在这里我统一改ports-default:

 <bean name="PortsDefaultBindings"  class="org.jboss.services.binding.impl.ServiceBindingSet">
<constructor>
<!-- The name of the set -->
<parameter>ports-default</parameter>
<!-- Default host name -->
<parameter>${jboss.bind.address}</parameter>
<!-- The port offset -->
<parameter>0</parameter>
<!-- Set of bindings to which the "offset by X" approach can't be applied -->
<parameter><null/></parameter>
</constructor>
</bean>

在注释中可以看见 The port offset ,一开始不懂,后来明白这个是迁移量,即若将0写为8,则这个segment的访问端口为8088,其他的端口也会有相应的位移。

现在便可以启动这个修改完的segment,进入使用命令行cd到jboss-5.1.0.GA\bin目录下,输入:

run.bat -c segment -b 0.0.0.0 -Djboss.service.binding.set=ports-default

     : 0.0.0.0指的是Ip地址  这里表示所有用局域网中可以用192.168.1.129来访问   否则只能用127.0.0.1或者localhost    c表示启动那种配制的服务

而0.0.0.0后面的部分则是表示使用什么端口。

现在已经可以通过命令启动服务了,但每次启动服务都要输入一堆东西,麻烦,怎么办呢?自己写一个bat文件:

rmdir /s /q "D:\Tools2\EclipsePlugin\JBoss\jboss-5.1.0.GA\server\segment\tmp"
rmdir /s /q "D:\Tools2\EclipsePlugin\JBoss\jboss-5.1.0.GA\server\segment\work"
cd D:\Tools2\EclipsePlugin\JBoss\jboss-5.1.0.GA\bin\
@PAUSE
@call run.bat -c segment -b 0.0.0.0 -Djboss.service.binding.set=ports-default

单击bat文件便可以启动。

2、为jboss6配置多个节点

jboss6下有domain和standalone两种启动方式,我在这里使用standalone方式启动。

同样,复制一份standalone文件夹,取名为node1,然后修改配置文件,这里需要注意的是,配置文件和jboss5有很大的不同。

在jboss6中,主要的配置文件是..\jboss-eap-6.3\standalone\configuration下的standalone.xml文件。打开后找到:

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>
<socket-binding name="ajp" port="8009"/>
<socket-binding name="http" port="8080"/>
<socket-binding name="https" port="8443"/>
<socket-binding name="remoting" port="4447"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>
</socket-binding-group>

深色部分就是迁移量设置的地方,不再像jboss5中有多个迁移量的设置,在jboss6中只有一处。

然后启动这个节点需要使用的命令:

standalone.bat -Djboss.node.name=node1 -Djboss.server.base.dir=node1

     当然,通过命令也可以设置更多,这段命令我是从官网的开发文档上找到的:

$ ./bin/standalone.sh -Djboss.node.name=UNIQUE_NODENAME -Djboss.server.base.dir=EAP_HOME/NODE_DIRECTORY -b IP_ADDRESS -bmanagement MGMT_IP_ADDRESS --server-config=SERVER_CONFIGURATION_FILE -Djboss.socket.binding.port-offset=PORT_OFFSET

当然官网上的是使用linux服务器的,但和win7的使用方式一致。

然后像jboss5一样制作bat文件即可。

web工程迁移---在一个jboss5或jboss6中运行多个实例的更多相关文章

  1. web工程迁移---jboss5迁移到jboss6

    这几天在做web工程的迁移,从jboss 5迁移到jboss 6.3. 在做迁移的过程中遇到了一些问题,在这里记录一下. 首先来看一下jboss5和jboss6.3的区别:          上面两幅 ...

  2. web工程迁移---weblogic8迁移到jboss5遇到的异常

    原有的web工程是在weblogic8上运行的,但现在的要求是要运行到jboss5中,为如后迁移到更高版本的jboss做准备 由于我对weblogic没有过研究,所以之前的步骤都是有别人进行的,在进行 ...

  3. maven创建web工程,并导入到eclipse中

    maven版本:3.1.0,eclipse版本:4.3 JDK:1.7 创建工程名是sa的maven工程 mvn archetype:create -DgroupId=com.bing-Dartifa ...

  4. Eclipse中导入Maven Web项目并配置其在Tomcat中运行

    今天因为实习的关系需要讲公司已经开发的项目导入进Eclipse,而公司的项目是用Maven来构建的所以,需要将Maven项目导入进Eclipse下. 自己因为没有什么经验所以搞了得两个多小时,在这里和 ...

  5. web工程中URL地址的推荐写法

    三.web工程中URL地址的推荐写法 使用c标签<c:url value="" /> 会自动添加项目名 -> value中的值 前面要加 “/” 在JavaWeb ...

  6. JavaWeb项目中斜杠(/)表示web工程、webapps的场景

    "/"代表当前web工程的常见应用场景 ①.ServletContext.getRealPath(String path)获取资源的绝对路径 /** * 1.ServletCont ...

  7. (数据科学学习手札105)Python+Dash快速web应用开发——回调交互篇(中)

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...

  8. 在 Docker 容器中运行应用程序

    案例说明 运行 3 个容器,实现对网站的监控. 三个容器的说明: 容器 web: 创建自 nginx 映像,使用 80 端口,运行于后台,实现 web 服务. 容器 mailer: 该容器中运行一个 ...

  9. 3.1、Android Studio在虚拟机中运行应用

    Android虚拟机Monitor一个设备并且显示在你的开发计算机上.它可以允许你在不适用硬件设备的情况下开发.测试你的Android应用.虚拟机支持Android手机,Android Wear和平板 ...

随机推荐

  1. 手机开发-Android

    Android 语言.JAVA 开发环境.一是JDKjava开发工具包,二是eclipse开发工具IDE,三是Android SDK安卓软件开发包,四是ADT Android开发工具把JDK和Andr ...

  2. day23(事务管理)

    事务管理 事务管理两种方式: 向下传递,ThreadLocal 向下传递的方式(依赖) 缺点:不利于测试 Service层 获取连接conn(Connection) 转账(conn) 收账(conn) ...

  3. noip第33课作业

    1.    排座椅 [问题描述] 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同 ...

  4. 软件工程课堂练习&课下作业

    题目:返回一个整数数组中最大子数组的和.一.设计思路按顺序定义子数组的和,如果为负,则选下一位数为子数组的和,反之则两个相加为子数组的和.二.源代码 package test;import java. ...

  5. 最短路 模板 【bellman-ford,dijkstra,floyd-warshall】

    Bellman-ford: /* bellman ford */ #include <iostream> #include <cstdio> #include <cstr ...

  6. bootstrap2.1相关文档

    本节课我们主要学习一下 Bootstrap表格和按钮功能,通过内置的 CSS定义,显示各种丰富的效果. 一.表格 Bootstrap提供了一些丰富的表格样式供开发者使用. 1.基本格式 //实现基本的 ...

  7. Allegro中常见的文件格式

    allegro/APD.jrl : 记录开启 Allegro/APD 期间每一个执行动作的 command .产生在每一次新开启 Allegro/APD 的现行工作目录下 .env : 存在 pcbe ...

  8. 分频器的verilog设计

    笔者最近由于实验室老师的任务安排重新又看了一下分频器的verilog实现,现总结如下,待以后查看之用(重点是查看计数器计到哪个值clk_out进行状态翻转) 1.偶数分频占空比为50% 其实质还是一个 ...

  9. 在mac下配置Andriod环境 包括eclipse和andriod studio

    1 前提 已经配置好了java的环境,课上要使用andriod开发. 2 步骤 2.1 eclipse 2.1.1先安装adt,adt是一个在eclipse中开发andriod的插件.由于墙,我是从其 ...

  10. java 异步机制与同步机制的区别

    所谓异步输入输出机制,是指在进行输入输出处理时,不必等到输入输出处理完毕才返回.所以异步的同义语是非阻塞(None Blocking). 网上有很多网友用很通俗的比喻  把同步和异步讲解的很透彻 转过 ...