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\[email protected]
@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文件即可。

时间: 2024-10-12 03:19:18

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

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

原有的web工程是在weblogic8上运行的,但现在的要求是要运行到jboss5中,为如后迁移到更高版本的jboss做准备 由于我对weblogic没有过研究,所以之前的步骤都是有别人进行的,在进行到一半的时候,由于某些情况,又交给我来完成. 此时他遇到的主要有两个问题,下面是主要的log: 2016-03-31 03:36:59,787 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/home].

转载:web工程中URL地址的推荐写法

在JavaWeb开发中,只要是写URL地址,那么建议最好以"/"开头,也就是使用绝对路径的方式,那么这个"/"到底代表什么呢?可以用如下的方式来记忆"/":如果"/"是给服务器用的,则代表当前的web工程,如果"/"是给浏览器用的,则代表webapps目录. 1."/"代表当前web工程的常见应用场景 ①.ServletContext.getRealPath(String path)获取

Gradle学习(四) web工程构建

Gradle为应用开发提供了两个相关的插件:war plugin以及jetty plugin war plugin继承了java plugin为你的工程构建war包,jetty pugin继承了war plugin可以让的工程构建在嵌入式容器jetty中 构建War文件 首先在你的build.gradle中添加如下一行 apply plugin: 'war' 由于war plugin继承了java plugin,所有java plugin也会被默认的加入配置文件中 运行gradle build命

在 Docker 容器中运行应用程序

案例说明 运行 3 个容器,实现对网站的监控. 三个容器的说明: 容器 web: 创建自 nginx 映像,使用 80 端口,运行于后台,实现 web 服务. 容器 mailer: 该容器中运行一个 mailer 程序,运行于后台,当接收到事件后会向管理员发送邮件. 容器 agent: 该容器运行一个 watcher 程序,以交互模式运行,用于不断地监测 web 服务的运行情况,一旦出现故障会立即向 mailer 容器发送消息. 创建容器 创建并运行 web 容器 $ docker run --

IIS网站不可用:同一 IIS 进程中运行两个不同的 ASP.NET 版本问题

出错现象: 在IIS中的网站刚部署的网站可以用,过一段时间就不能用了.然后出现网站不可用的提示. 查看系统日志: 发现在系统日志中有这么一条信息:"在同一 IIS 进程中不可能运行两个不同的 ASP.NET 版本.请使用 IIS 管理工具重新配置服务器以在一个单独的进程中运行应用程序." 解决方案: 因为在同一个IIS应用程序池中不能运行两个asp.net的版本.将不同asp.net版本的网站分配不同的应用程序池就好了

在Docker中运行纸壳CMS并配置使用MySql

纸壳CMS是基于ASP.Net Core开发的可视化内容管理系统,可以跨平台部署,可以在容器中运行.接下来看看如何在docker中运行纸壳CMS. GitHub:https://github.com/SeriaWei/ZKEACMS.Core 方式一 直接运行以下命令即可在docker中运行纸壳CMS,运行成功以后,使用{IP}:5000来访问: docker run -d -p 5000:80 zkeasoft/zkeacms 注意:使用这种方式运行,数据库使用的是SQLite. 方式二 接下

Eclipse中Maven WEB工程tomcat调试

http://blog.csdn.net/clj198606061111/article/details/20221133 ********************************************** 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近没事了玩一下maven,使用maven管理工程中的依赖包非常的方便.建立maven web工程的时候开始不知道怎么用tomcat来调试,总是使用mave的tomcat插件发布了后来调试,觉得非常的麻烦,网上找了点材料,看看m

项目自动化建构工具gradle 入门5——在intellij中做一个gradle的web工程

之前的几个小节,都是纯手工建文件夹,纯手工拷贝war包,或者纯手工解压个zip看看结果,,,,这还是我写了玩的helloWorld.若是玩大工程.几十个人的团队协同开发时,这么玩,,,,暴躁的程序员估计血压爆表了. 对于大点的java web项目,我们需要用到Tomcat 9.0 M10,gradle 3.2.1,IntelliJ 来搞定这一档子事. 1.软件下载安装,见<项目自动化建构工具gradle 入门0--环境 & 废话>. 2.打开IntelliJ,File -> Ne

在javaEE下学习web(在eclipse中开发动态的WEB工程,servlet的环境搭建,及servlet的一些方法)

一个简便的方法实现javaee版的eclipse开发动态的WEB工程(javaWEB项目)1.把开发选项切换到javaEE2. 可以在window->shou view 中找到package explorer并把其拖到开发区的左边 (Tomcat环境搭建在这不多说)3.在servers面板中新建Tomcat服务器,一定要关联到Tomcat安装的根目录4.新建一个Dynamic Web Project.其中Target Runtime需选择Tomcat6.0(3)5.开发java WEB应用6.可