基于JRebel的ATG热部署

JRebel安装

  1. 一些公司有网络限制,需要设置代理,否则会出现网络连接错误,eclipse、myeclipse、intellij方法类似,此处以eclipse为例,设置代理的方法如下:

    WindowsàPreferenceàGeneralàNetwork Connections

    Active Provider选择 Manual,代理参数根据实际情况自己设置,此处是用的是*,host为127.0.0.1,端口为8087,不需要认证

    基于JRebel的ATG热部署

  2. 在Eclipse Marketplace中安装JRebel

    HelpàEclipse Marketplace…

    搜索JRebel,点击Install安装

    基于JRebel的ATG热部署

  3. 获取JRebel激活码

    A 购买激活码,JRebel是收费的,可以在线上购买,购买链接为:http://zeroturnaround.com/software/jrebel/buy/

    B 也可以申请试用(14天),试用申请链接为:http://zeroturnaround.com/software/jrebel/trial/cn/,申请后激活码会发到你的邮箱中

    C 如果你是个人用户,可以注册myJRebel账号,注册链接为:https://my.jrebel.com/

    注册需要绑定你的Facebook或是Twitter账号,以分享你的JRebel的使用情况,推荐绑定Twitter,本人注册的时候开始使用Facebook账号,结果一直提示实名认证信息,后更换Twitter账号后,顺利完成绑定。顺利注册完成后,可以在Install and Activate中找到激活码

    基于JRebel的ATG热部署

  4. 激活JRebel

    打开Eclipse,在JRebel Config Center(HelpàJRebel Config Center)中选择Activation标签,复制激活码,粘贴进文本框即可

    基于JRebel的ATG热部署

     

    基于JRebel的ATG热部署

     

相关配置

  1. 一个典型的ATG项目目录结构如下:

    基于JRebel的ATG热部署

  2. 添加rebel.xml配置文件

    [2] 准备

    A 在java源文件根目录以及webapp(.war)的WEB_INF/classes目录添加rebel配置文件

     

    Java源文件根目录

    <?xml version="1.0" encoding="UTF-8"?>

    <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd">

        <classpath>

            <dir name="D:/ATG/ATG10.0.3/Demo/lib/classes"/>

        </classpath>

    </application>

     

    War包中配置文件

    <?xml version="1.0" encoding="UTF-8"?>

    <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd">

        <war dir="D:/ATG/ATG10.0.3/Demo/j2ee-apps/demofront/firstapp.war" />

    </application>

    基于JRebel的ATG热部署

     

  3. Web容器添加JRebel支持

    此处以Windows下的WebLogic,JBoss为例,其他参见如下链接:http://manuals.zeroturnaround.com/jrebel/standalone/launch-from-command-line.html

    其中jrebel.jar的路径大致如下:

    Eclipse\plugins\org.zeroturnaround.eclipse.embedder_5.5.0.SR1-201312232222\jrebel\

    WebLogic:

    在%DOMAIN_HOME%\bin下添加startManagedWeblogic-jrebel.cmd,内容如下:

    @echo off

    set JAVA_OPTIONS=-javaagent:[path/to/]jrebel.jar %JAVA_OPTIONS%

    call "%~dp0\startManagedWebLogic.cmd" %*

JBoss:

在%JBOSS_HOME%\bin下添加run-jrebel.cmd,内容如下:

    @echooff
    setJAVA_OPTS=-javaagent:[path/to/]jrebel.jar %JAVA_OPTS%
    call"%~dp0\run.bat" %*

 

  1. 使用

    A修改pipeline、fulfillment、repository、dms(xml、property)或是只修改property文件需要在对应的component配置文件中添加

    $reloadable=true

    每次修改后需要在dyn/admin对应component下执行reload方法后生效

    基于JRebel的ATG热部署

    B凡是涉及到修改java文件的component或者修改jsp、css、js、ftl,不需要做额外操作修改后就能生效

     

     

  2. 注意

    Jar、web.xml、MANIFEST.MF、application.xml之类文件的修改仍需重启服务

    并不能保证所有列出的情形都支持,如果遇到不支持的情况请告诉我(geekcui@gmail.com),谢谢!

     

基于JRebel的ATG热部署

上一篇:linux 系统常用命令


下一篇:Kernels