[心得]Run-Jetty-Run加DCEVM改程式免重啟

看板Eclipse作者 (BlueCancer)時間12年前 (2012/07/16 01:02), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/1
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)

07/16 16:21, , 1F
推~Jetty
07/16 16:21, 1F

07/27 00:22, , 2F
這是上次去 TWJUG 講得內容吧 XD
07/27 00:22, 2F

07/27 00:23, , 3F
基本上這還是開發用比較好 production 多少會拖慢效能
07/27 00:23, 3F

07/31 21:10, , 4F
不好意思,今天才看到TonyQ的推文~~~是TWJUG沒錯~~~^^
07/31 21:10, 4F

07/31 21:12, , 5F
尤其我們用WAS,下上會等死人,用ND版還要重新Deploy..@.@
07/31 21:12, 5F

07/31 21:13, , 6F
也謝謝TonyQ及一些高手們無私的分享經驗,學到許多~~^^
07/31 21:13, 6F

08/02 20:50, , 7F
有類似JRebel的Remoting sync的功能嗎?
08/02 20:50, 7F
文章代碼(AID): #1G0lUmGm (Eclipse)
文章代碼(AID): #1G0lUmGm (Eclipse)