作者rexhuang (BlueCancer)
看板Eclipse
标题[心得]Run-Jetty-Run加DCEVM改程式免启
时间Mon Jul 16 01:02:37 2012
Run Jetty Run:
http://code.google.com/p/run-jetty-run/
DCEVM:
http://ssw.jku.at/dcevm/
Run-Jetty-Run plug-in目前是由国内的TonyQ接手开发
DCEVM是奥地利的Thomas Wuerthinger开发
(现在好像是Oracle工程师
https://labs.oracle.com/people/wuerthinger)
小弟我也是听了TonyQ的演讲才知道有这两个好物
如果您的系统有用到xerces.jar,因为会和Jetty冲到,需要把您系统的xerces.jar移除掉
否则AP启动时会有以下错误讯息
java.lang.AbstractMethodError: org.apache.xerces.dom.DeferredDocumentImpl.set
DocumentURI(Ljava/lang/String;)V
找到一篇文章说也可以在JVM启动时加以下参数(我没试过)
-Djavax.xml.parsers.DocumentBuilderFactory=
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
(
http://blog.chenlb.com/2010/11/abstract-method-error-xerces.html )
另外asm、cglib也要换成新的版本 (
http://tinyurl.com/7kntkdh )
目前试的结果要用Debug As启动才能hot-deploy
google一下好像这种hotswap的技术好像只能用在JVM启动时是debug mode?
试了一下JAVA和JSP修改都不用重启就可以看到结果
如果Eclipse是搭配Tomcat去跑,Publishing要设定成Never publishing automatically
另外,我本来把DCEVM装在JDK 7失败,改用JDK 6就OK,没在试其他JDK 7
DCEVM官方并不建议用在Production
除了DCEVM外,有些人是用JRebel
DCEVM是从VM层下手,JRebel是从ClassLoader下手,理论上DCEVM效能会比较好
小弟我也没用过JRebel,无法实际比较
一点心得分享
P.S.如果对DCEVM的运作原理了解更多,可以看以下讨论串
http://old.nabble.com/Enhanced-Class-Redefinition-JEP-td32152317.html
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.164.11.162
※ 编辑: rexhuang 来自: 1.164.11.162 (07/16 01:45)
1F:推 MiaShopgirl:推~Jetty 07/16 16:21
2F:→ TonyQ:这是上次去 TWJUG 讲得内容吧 XD 07/27 00:22
3F:→ TonyQ:基本上这还是开发用比较好 production 多少会拖慢效能 07/27 00:23
4F:→ rexhuang:不好意思,今天才看到TonyQ的推文~~~是TWJUG没错~~~^^ 07/31 21:10
5F:→ rexhuang:尤其我们用WAS,下上会等死人,用ND版还要重新Deploy..@.@ 07/31 21:12
6F:→ rexhuang:也谢谢TonyQ及一些高手们无私的分享经验,学到许多~~^^ 07/31 21:13
7F:推 phstudy:有类似JRebel的Remoting sync的功能吗? 08/02 20:50