1.约定:

根据bindings-jboss-beans的规则,ports-default配置是在7101基础上+100即,所对应的Naming Service,Remote classloading service,Remoting Connector,RMI/JRMP,HA Pooled invoker等,都会自适应+100;如果是ports-02就会加200,依此类推。

 

这里以新增部署 fenxiaopromotion jboss容器为例


2.先到 /data/jboss/server

cp -r default fenxiaopromotion

注意:default 正确的包大小一定是 26875(精确到字节),如果发现大小不一致请从其他jboss机器拷贝default包

3.vim /data/jboss/server/fenxiaopromotion/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml

修改26行 增加 <inject bean="Ports04Bindings"/>

<!--  The binding sets -->

         <parameter>

            <set>

               <inject bean="PortsDefaultBindings"/>

               <inject bean="Ports01Bindings"/>

               <inject bean="Ports02Bindings"/>


               <inject bean="Ports03Bindings"/>

                <inject bean="Ports04Bindings"/>

            </set>

         </parameter>



在第100行的地方增加


<!-- The ports-04 binding are obtained by taking ports-default and adding 400 to each port value -->

<bean name="Ports04Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet">

        <constructor>

                <parameter>ports-04</parameter>

                <!-- the name of the set -->

                <!-- Default host name -->

                <parameter>${jboss.bind.address}</parameter>

                 <parameter>400</parameter>

                <!-- Set of bindings to which the "offset by X" approach can't be applied -->

                <parameter><null/></parameter>

        </constructor>

  </bean>

4.复制重启脚本并重命名

jboss_fenxiaopromotion_restart.sh

#/bin/bash

~/shell/jbosskill.sh fenxiaopromotion 172.24.144.86 7501

增加domain ip 端口

vim ~/shell/jbosskill.sh 增加7501的判断

if  [ "$port" = "7201" ];

then

sh ${JBOSS_HOME}/bin/run.sh -b ${DOMAIN_IP} -c ${DOMAIN_NAME} -Djboss.service.binding.set=ports-01 2>&1 | /usr/sbin/rotatelogs2 ${JBOSS_REDIRECT_LOG}.%Y%m%d 86400 480 &

elif [ "$port" = "7301" ];

then

sh ${JBOSS_HOME}/bin/run.sh -b ${DOMAIN_IP} -c ${DOMAIN_NAME} -Djboss.service.binding.set=ports-02 2>&1 | /usr/sbin/rotatelogs2 ${JBOSS_REDIRECT_LOG}.%Y%m%d 86400 480 &

elif [ "$port" = "7401" ];

then

sh ${JBOSS_HOME}/bin/run.sh -b ${DOMAIN_IP} -c ${DOMAIN_NAME} -Djboss.service.binding.set=ports-03 2>&1 | /usr/sbin/rotatelogs2 ${JBOSS_REDIRECT_LOG}.%Y%m%d 86400 480 &

elif [ "$port" = "7501" ];

then

sh ${JBOSS_HOME}/bin/run.sh -b ${DOMAIN_IP} -c ${DOMAIN_NAME} -Djboss.service.binding.set=ports-04 2>&1 | /usr/sbin/rotatelogs2 ${JBOSS_REDIRECT_LOG}.%Y%m%d 86400 480 &

elif [ "$port" = "7601" ];

then

sh ${JBOSS_HOME}/bin/run.sh -b ${DOMAIN_IP} -c ${DOMAIN_NAME} -Djboss.service.binding.set=ports-05 2>&1 | /usr/sbin/rotatelogs2 ${JBOSS_REDIRECT_LOG}.%Y%m%d 86400 480 &

else

sh ${JBOSS_HOME}/bin/run.sh -b ${DOMAIN_IP} -c ${DOMAIN_NAME} 2>&1 | /usr/sbin/rotatelogs2 ${JBOSS_REDIRECT_LOG}.%Y%m%d 86400 480 &

fi

fi


重启看下nestat -tnlap | grep 7501 是否已经启动


5.数据源文件以ds.xml结尾

由于数据源是连接数据库的所以会涉及到数据库的账户和密码的问题的,所以这部分开发会先发邮件给专门负责人员来操作.


6.部署应用

部署应用还是和走平时的发布流程,打包和发布,如果碰到很紧急的情况下没有把新增的模块加入到发布脚本里,那就只需手动打包和发布

大概步骤:

svn co ....

mvn clan package -Denv=xxx -Dversion=xxxx

...

cd target

scp ...上传到/data/jboss/server/fenxiaopromotion/deploy 下就可以了