Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Redeploy alternatives to JRebel [closed]

JRebel allows for newly compiled code to be redeployed without restarting the application. I am wondering if there are any alternative (free?). The FAQ page answers this question, but I am sure it's biased towards JRebel. This question was asked a year ago on this site, but I am bringing it back up to see if anyone has any new information.

On a side note, I really like JRebel, but if there is a free alternative, I am willing to try it.

One additional note, I am working on an open source project, and they offer free one year licenses to people who can prove they are on an open source project. Which works great for me (www.kuali.org), but I won't be on that project forever.

like image 840
Jay Avatar asked Nov 03 '11 16:11

Jay


4 Answers

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.

like image 34
edudant Avatar answered Nov 14 '22 08:11

edudant


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
like image 89
Emmanuel Bourg Avatar answered Nov 14 '22 08:11

Emmanuel Bourg


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/

like image 21
tak3shi Avatar answered Nov 14 '22 08:11

tak3shi


By the Spring guys, used for Grails reloading but works with Java too:

https://github.com/SpringSource/spring-loaded

like image 20
Ramon Avatar answered Nov 14 '22 07:11

Ramon