登录站点

用户名

密码

关于开发环境热部署问题

4已有 2881 次阅读  2010-06-30 18:22   标签环境  部署  开发 
我们经常做开发,在调试tomcat,JBoss,weblogic等容器的时候,在修改一些底层的class,添加jar包,修改配置文件等操作,都要重新重启容器,才能更新之前修改过的内容,这样做其实也就是重启一下容器而已,没有什么不方便的,但是如果一个工程很大,重启需要很长时间的话,这种方法显然就很不方便了,往往等待时间就要占很久,今天同事跟我说有个工具可以实现不要重启容器就能实现上述修改马上更新,包括添加jar包都可以不需要重启,我觉得很不可思议,知道热部署可以实现,但是添加jar包的话还是需要重启的,而且热部署显然也是需要一定的部署时间的,不能实现瞬间更新。于是上网查了下资料,果然有这种工具,叫做JRebel的是个商业工具软件(收费的),但是人类的智慧是无限的,有限制就会有破解,果然,有破解版存在,于是乎下了一个破解版的来用看看,恩~~~~,很好,很强大,只要在jvm启动的时候,加个配置参数就完全实现了上述的功能,大大减少了不必要的等待时间,没错,就是一段配置参数就可以搞定,实在是太棒了,我测试过了,添加service的方法,添加jar包,修改hibernate配置文件,都能瞬间加载,无需重启容器,现在跟大家分享一下。
2、JDK1.5+的环境下在jvm启动时添加如下启动参数 -noverify -javaagent:<yourpath>/jrebel.jar
3、重启容器
启动成功的话,会有如下信息
Wed Jun 30 17:33:06 CST 2010 com.zeroturnaround.javarebel.hD#new V( false )
Wed Jun 30 17:33:06 CST 2010 com.zeroturnaround.javarebel.bH#public boolean a(byte abyte0[])
#############################################################
 JRebel 3.0-M1 (200910151623)
 (c) Copyright ZeroTurnaround, Ltd, 2007-2009. All rights reserved.
 A rough estimate: Over the last 1 days JRebel
 prevented the need for at least 0 redeploys/restarts.
 Using industry standard build and redeploy times,
 JRebel saved you between 0 and 0 hours.
 This product is licensed to  Java Hack Organization
 for unlimited number of developer seats on site.
#############################################################
就这么简单
如果想知道更具体的信息的话,可以看上述zip包解压后的,Install.html,这里面有写它的工作原理,和其他环境的配置。
祝大家使用快乐,开发快乐
分享 举报

发表评论 评论 (2 个评论)

  • 肖家栋 2010-07-12 11:11
    tomcat更新类不需要重新reload有没有解决?
  • 张扬 2010-08-06 09:26
    肖家栋: tomcat更新类不需要重新reload有没有解决?
    通过这个jrebel.jar可以实现,要放在tomcat的部署目录下,然后再启动的时候要做一下配置
涂鸦板