Version 9.1 by Samuel Pelletier on 2016/06/12 16:43

Hide last authors
Samuel Pelletier 8.1 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.
Samuel Pelletier 4.1 2
3 = Prerequisites =
4
Samuel Pelletier 8.1 5 * A JRE patched with the DCEVM
Samuel Pelletier 4.1 6 * (% style="line-height: 1.4285715;" %)The Hotwsap agent to handle the WebObjects caches.
7
8 === (% style="line-height: 1.4285715;" %)Patching the VM(%%) ===
9
Samuel Pelletier 8.1 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 92 works as expected.
Samuel Pelletier 4.1 11
Samuel Pelletier 8.1 12 DCEVM download site: **[[http:~~/~~/dcevm.github.io>>url:http://dcevm.github.io||shape="rect"]] [[attach:JRE settings.png]]**
Samuel Pelletier 4.1 13
Samuel Pelletier 8.1 14 === (% style="line-height: 1.4285715;" %)Downloading the Hotswap agent(%%) ===
Samuel Pelletier 4.1 15
Samuel Pelletier 8.1 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.
Samuel Pelletier 4.1 17
Samuel Pelletier 8.1 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.
Samuel Pelletier 4.1 19
Samuel Pelletier 8.1 20 === How to use in a project ===
Samuel Pelletier 4.1 21
Samuel Pelletier 8.1 22 To enable HotSwap for all java launch within eclipse, add the following to the default VM argument of your current JRE.
Samuel Pelletier 4.1 23
Samuel Pelletier 8.1 24 -XXaltjvm=dcevm -javaagent:/replace_with_correct_path/hotswap-agent.jar
Samuel Pelletier 4.1 25
Samuel Pelletier 8.1 26 TO enable per project basis, add the same to the VM argument section of your project's Run configuration.
Samuel Pelletier 4.1 27
Samuel Pelletier 8.1 28 === Known limitations ===
Samuel Pelletier 4.1 29
Samuel Pelletier 8.1 30 * Change of superclass is not supported by DCEVM.
31
Samuel Pelletier 4.1 32 (% style="line-height: 1.4285715;" %)