Redeploy alternatives to JRebel [closed]
Solution 1:
Take a look at DCEVM, it's a modification of the HotSpot VM that allows unlimited class redefinitions at runtime. You can add/remove fields and methods and change the super types of a class at runtime.
The binaries available on the original site are limited to Java 6u25 and to early versions of Java 7. The project has been forked on Github and supports recent versions of Java 7 and 8. The maintainer provides binaries for 32/64 bits VMs on Windows/Linux. Starting with Java 11 the project moved to a new GitHub repository and now also provides binaries for OS X.
DCEVM is packaged for Debian and Ubuntu, it's conveniently integrated with OpenJDK and can be invoked with java -dcevm
. The name of the package depends on the version of the default JDK:
- Debian 7&8 and Ubuntu 15.04 : openjdk-7-jre-dcevm
- Debian 9 and Ubuntu 16.04 : openjdk-8-jre-dcevm
- Debian 10 and Ubuntu 19.04 : openjdk-11-jre-dcevm
Solution 2:
Hotswap Agent is an extension to DCEVM which supports many Java frameworks (reload Spring bean definition, Hibernate entity mapping, logger level setup, ...).
There is also lot of documentation how to setup DCEVM and compiled binaries for Java 1.7.
Solution 3:
DCEVM supports enhanced class redefinitions and is available for current JDK7 and JDK8.
https://github.com/dcevm/dcevm/releases
HotswapAgent is an free JRebel alternative and supports DCEVM in various Frameworks.
http://hotswapagent.org/