Changes for page Using DCEVM and Hotswap for rapid turnaround
Last modified by Markus Ruggiero on 2022/07/28 14:18
From version 10.1
edited by Samuel Pelletier
on 2015/07/07 17:42
on 2015/07/07 17:42
Change comment:
There is no comment for this version
To version 6.1
edited by Samuel Pelletier
on 2015/07/07 15:15
on 2015/07/07 15:15
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,8 +1,8 @@ 1 -DCEVM and Hotswap enable rapid turnaround by allowing almost any class change to the running VM. It offers an experience very similar to JRebel for WebObjects developers. With this tool, you usually do not have to restart your application after code change.1 +DCEVM and Hotswap enable rapid turnaround by allowing almost any class change to the running VM. It offers an experience very similar to JRebel for WebObjects developers. 2 2 3 3 = Prerequisites = 4 4 5 -* A JRE patched with the DCEVM 5 +* A JRE patched with the DCEVM [[http:~~/~~/dcevm.github.io>>url:http://dcevm.github.io||style="line-height: 1.4285715;" shape="rect"]](% style="line-height: 1.4285715;" %) 6 6 * (% style="line-height: 1.4285715;" %)The Hotwsap agent to handle the WebObjects caches. 7 7 8 8 === (% style="line-height: 1.4285715;" %)Patching the VM(%%) === ... ... @@ -9,25 +9,18 @@ 9 9 10 10 (% style="line-height: 1.4285715;" %)DCEVM is the patch that enable the enhanced class redefinition in the VM. Download the installer for your JRE version and install the alternative VM. The patch is not always available for the latest update of the JRE, you may try the latest update available but it may not works. At the time I write this, the patch for Java 1.8 update 45 is at build 15 and it does not works completely, I get exception because some DelegatingClassLoader are not updated. The version for Java 1.7 update 71 build 2 works fine with java 1.7.0_79. 11 11 12 - DCEVMdownloadsite: **[[http:~~/~~/dcevm.github.io>>url:http://dcevm.github.io||shape="rect"]]**12 +=== (% style="line-height: 1.4285715;" %)Hotswap agent(%%) === 13 13 14 - ===(% style="line-height: 1.4285715;" %)DownloadingtheHotswap agent(%%)===14 +(% style="line-height: 1.4285715;" %)Hotwsap agent is an agent (like JRebel) that allows plugins to react to class redefinition events. These plugins are similar to the the JRebel plugins and add frameworks specific code to make sure they react correctly to the class changes. 15 15 16 -(% style="line-height: 1.4285715;" %) Hotwsap agent allows plugins to react to class redefinition events. These plugins are similar to the the JRebel plugins and add frameworks specific code to make sure they handle correctly to the class changes.16 +(% style="line-height: 1.4285715;" %) 17 17 18 -(% style="line-height: 1.4285715;" %)Download the hot swap agent jar from my fork at [[https:~~/~~/github.com/spelletier/HotswapAgent/releases/tag/0.2_with_WO>>url:https://github.com/spelletier/HotswapAgent/releases/tag/0.2_with_WO||shape="rect"]] to an easy to type location, you will need the location to enable it. 19 19 20 -== =How to usein a project===19 += (% style="line-height: 1.4285715;" %)How to use(%%) = 21 21 22 - ToenableHotSwap, add the following to theRun configuration of your project in the VM argumentsection:21 +(% style="line-height: 1.4285715;" %) 23 23 24 --XXaltjvm=dcevm -javaagent:/replace_with_correct_path/hotswap-agent.jar 25 25 26 -=== Known limitations === 27 - 28 -* Change of superclass is not supported by DCEVM. 29 -* Modifying the return type of a method breaks. It seems there is some cache not cleared. 30 - 31 31 (% style="line-height: 1.4285715;" %) 32 32 33 33