JRebel有什么用?
做Java Web开发,一个很头疼的事情是,修改了一个类以后,Tomcat必须重新启动。
工程规模小还好说,如果规模大了,重启一次动不动就是一分多钟。那么频繁重启就会导致大量的时间浪费,非常影响开发效率,心情也会非常烦躁。
使用JRebel,则可以解决这个问题,它能在不重启Tomcat的情况下,重新加载修改的类。
对于JRebel的实现原理我还没有深究过,用在生产环境估计还是会有一些问题或者说副作用。
但是在开发的时候用,应该还是可以的。有没有副作用,我也是刚接触,多用用才知道了。
JRebel的使用方式貌似也是有很多种,这里说的是通过Eclipse插件来使用JRebel。
项目情况:Eclipse+Maven+SpringMVC+Spring+Mybatis
其实安装JRebel很简单,通过Eclipse的Marketplace来获得JRabel插件即可(我用的是7.0.1版本)。
关键是这个好用的神器是付费软件。
所以,咳咳。。嗯嗯,需要破解。破解方法:
我在网上找了一个licence文件,我这里就不贴出来了,可以自己百度一下。
安装JRebel会在当前用户文件夹下创建一个名为【.jrebel】的文件夹,把附件里的内容替换进去就可以了。- 如何使用:
- 禁用Eclipse中Tomcat的自动发布
- 对工程启用JRebel代理
只要顺着JRebel插件的配置界面完成上面两步设置,这样基本上就可以了。
遇到的问题:
我在第一次使用的时候出现内存不足的异常导致工程起不来,
不知道是不是JRebel导致的,没有继续深究了,调整JVM参数加大内存分配后启动就没问题了。
目前使用的JVM参数如下:
-Djava.awt.headless=true -server -Xmx512m -Xms512m -Xmn170m -XX:MaxPermSize=512m -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:+UseParNewGC -XX:SurvivorRatio=2 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31更多使用细节及配置
更深入的一些使用细节就要在使用过程中循序渐进的去发现和学习了。
官网:https://zeroturnaround.com/software/jrebel/learn/