在工作中遇到的,如何在一个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 ...
-
(数据科学学习手札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和平板 ...
-
解决python在命令行中运行时导入包失败,出现错误信息 ";ModuleNotFoundError: No module named ***";
转自https://www.cnblogs.com/dreamyu/p/7889959.html https://www.cnblogs.com/lifeofershisui/p/8135702.ht ...
随机推荐
-
css判断不同分辨率显示不同宽度布局实现自适应宽度
一.CSS DIV网页布局中当分辨率小于等于1024px(像素)时,DIV布局对象显示1000px宽度,当分辨率大于1024px时候显示1200px宽度等需求.使用CSS实现改变浏览器显示宽度从而实现 ...
-
fsimage 和 edits log
standby NN每隔一段时间(由参数dfs.ha.tail-edits.period决定,默认是60s)去检查Journal node上新的Edits log文件. standby NN每隔一段时 ...
-
perl 类里的函数调用其他类的函数
perl 类里的函数调用其他类的函数: package Horse; use base qw(Critter); sub new { my $invocant = shift; my $class = ...
-
网络资源(6) - EJB视频
2014_08_24 http://v.youku.com/v_show/id_XMjE0NjE3MDA0.html?f=5227828 01_EJB3.0_下载安装与运行jboss -------- ...
-
记录一个从没见过的bug
js的默认启动 $(function(){ )}; 不识别,意思是如果你把js内容放入这个东西里面,它不会执行.必须把它去掉才可以. 包括.tag里的文件也是一样. 这是发生在系统框架迁移发生的事,以 ...
-
大数据---Ranger-1
背景:从软通出来,告别华为外包,离开H区,进入了一家搞大数据的创业公司,感觉周围都好陌生,记录下自己大数据的career! 2019-03-4新的征程-入职第一天: 一.办理入职手续 公司人比较少,没 ...
-
Sping AOP Capabilities and Goals
Spring AOP是用纯的java实现的.不需要任何个性的实现过程.Spring AOP不需要控制类加载器,并且它适用于Servlet容器或者应用服务器. Spring AOP当前只支持方法执行的连 ...
-
Linux 第十四天
6)Bash常用快捷键 快捷键 作用 ctr1+ a 把光标移动到命令行开头.如果我们输入的命令过长,想要把光标移| 动到命令行开头时使用. ctr1+e 把光标移动到命令行结尾. ctr1+c 强制 ...
-
python学习笔记-调用接口
requests模块 1.get请求: url = 'http://api.nnzhp.cn/api/user/stu_info' data = {'stu_name':'小黑'} #请求数据 req ...
-
【C++ Primer 第15章】定义派生类析构函数
学习资料 • 基类和派生类析构函数执行顺序 定义派生类析构函数 [注意]定义一个对象时先调用基类的构造函数.然后调用派生类的构造函数:析构的时候恰好相反:先调用派生类的析构函数.然后调用基类的析构函数 ...