web工程迁移---在一个jboss5或jboss6中运行多个实例
在工作中遇到的,如何在一个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中运行多个实例的更多相关文章
- web工程迁移---jboss5迁移到jboss6
这几天在做web工程的迁移,从jboss 5迁移到jboss 6.3. 在做迁移的过程中遇到了一些问题,在这里记录一下. 首先来看一下jboss5和jboss6.3的区别: 上面两幅 ...
- web工程迁移---weblogic8迁移到jboss5遇到的异常
原有的web工程是在weblogic8上运行的,但现在的要求是要运行到jboss5中,为如后迁移到更高版本的jboss做准备 由于我对weblogic没有过研究,所以之前的步骤都是有别人进行的,在进行 ...
- maven创建web工程,并导入到eclipse中
maven版本:3.1.0,eclipse版本:4.3 JDK:1.7 创建工程名是sa的maven工程 mvn archetype:create -DgroupId=com.bing-Dartifa ...
- Eclipse中导入Maven Web项目并配置其在Tomcat中运行
今天因为实习的关系需要讲公司已经开发的项目导入进Eclipse,而公司的项目是用Maven来构建的所以,需要将Maven项目导入进Eclipse下. 自己因为没有什么经验所以搞了得两个多小时,在这里和 ...
- web工程中URL地址的推荐写法
三.web工程中URL地址的推荐写法 使用c标签<c:url value="" /> 会自动添加项目名 -> value中的值 前面要加 “/” 在JavaWeb ...
- JavaWeb项目中斜杠(/)表示web工程、webapps的场景
"/"代表当前web工程的常见应用场景 ①.ServletContext.getRealPath(String path)获取资源的绝对路径 /** * 1.ServletCont ...
- (数据科学学习手札105)Python+Dash快速web应用开发——回调交互篇(中)
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...
- 在 Docker 容器中运行应用程序
案例说明 运行 3 个容器,实现对网站的监控. 三个容器的说明: 容器 web: 创建自 nginx 映像,使用 80 端口,运行于后台,实现 web 服务. 容器 mailer: 该容器中运行一个 ...
- 3.1、Android Studio在虚拟机中运行应用
Android虚拟机Monitor一个设备并且显示在你的开发计算机上.它可以允许你在不适用硬件设备的情况下开发.测试你的Android应用.虚拟机支持Android手机,Android Wear和平板 ...
随机推荐
- oracle死锁解决方法
select SESS.sid, SESS.SERIAL#, LO.ORACLE_USERNAME, LO.OS_USER_NAME, AO.OBJECT_NAME, LO.LOCKED_M ...
- 如何批量下载网站中的超链接(一次性下载网页中所有可能的PDF文件)
最近公司在做工程项目,实现文件批量下载. 网上找了很久,发现网上的代码都有相似的问题,不过最终还是让我找到了一个符合的项目. 工程: 进行项目文件下载功能分析,弄清楚文件批量下载的原理,提供的数据支持 ...
- volatile 实现 单例模式
单例模式的一种实现方式,但很多人会忽略volatile关键字,因为没有该关键字,程序也可以很好的运行,只不过代码的稳定性总不是100%,说不定在未来的某个时刻,隐藏的bug就出来了. 双重校验锁 cl ...
- activeMq之hello(java)
消息队列activeMq, 节省响应时间,解决了第三方响应时间长的问题让其他客户可以继续访问, 安装activeMq apache-activemq-5.14.0-bin\apache-activ ...
- set_time_limit
语法 : void set_time_limit (int seconds)说明 : 设定一个程式所允许执行的秒数,如果到达限制的时间,程式将会传回错误.它预设的限制时间是30秒,max_execut ...
- STL容器之一vector
STL中最简单也是最有用的容器之一是vector<T>类模板,称为向量容器,是序列类型容器中的一种. 1.vector<T> 对象的基本用法(1)声明:vector<ty ...
- poj 3258 3273
poj3258 题目 (最大化最小值)(最小值最大化) 题意:牛要到河对岸,在与河岸垂直的一条线上,河中有N块石头,给定河岸宽度L,以及每一块石头离牛所在河岸的距离,现在去掉M块石头,要求去掉M块石 ...
- zoj3820
题意:给定一个树,找出两个点,使得其他点到最近的点的距离最小 思路: 牡丹江站的B题..可惜当时坑的不大对,最后也没写完.. 1.题解方法: 基于一个结论,答案一定在直径上(证明我不会).. 那么,可 ...
- CSS 基础 例子 定位及z-index
position 属性指定了元素的定位类型. position 属性的四个值: static 不设置默认为该值,即没有定位,元素出现在正常的流中.不能使用top,bottom,left,righ ...
- day01_雷神_Python入门
day01 1.编程语言 主流的像C.java.python.php.C#.等,可以从不同维度分类如下: 机器码和字节码 机器码: C 字节码: 其他 note: 机器码是电脑的CPU可直接解读的数据 ...