JRebel

from Wikipedia, the free encyclopedia

JRebel is a tool developed by ZeroTurnaround which supports the dynamic deployment of Java web applications in a so-called application server . This means that modified Java code is used ad-hoc in the application server and no redeploy or hotdeploy is necessary.

JRebel
Basic data

developer ZeroTurnaround
Publishing year 2007
Current  version 2018.2.6
(February 14, 2019)
operating system platform independent
programming language Java
category Programming tool
License ZeroTurnaround EULA
zeroturnaround.com

Principle and implementation

JRebel is implemented as a JVM "-javaagent" plugin and is delivered as a single JAR file. As such, it is integrated into the class loader of the JVM and the application server. No new class loaders are created or existing ones are wrapped. If classes are loaded by the class loader, JRebel tries to find the associated .class file and saves the timestamp of this file. This is then monitored and if changes are made, these are passed on to the running application via the class loader. Existing instances of this class are retained. However, if a member variable has been added, this is not initialized because the constructor is not called again.

License

JRebel is available in a rental license model for 1, 2 or 3 years.

In 2011, ZeroTurnaround introduced version 4.5, a freely available license for non-commercial projects. To purchase the license you have to register via Facebook or Twitter. With the registration, usage statistics of the tool are shared on social media. The name social JRebel was later changed to myJRebel .

JRebel.Android

In 2015, ZeroTurnaround introduced JRebel.Android. Similar to the desktop version, this tool allows dynamic deployments only on Android devices. The plug-in architecture was expanded to include a service that runs on the development machine. This service monitors changes in the resource folders of the Android application and sends them as bytecode transformed for JRebel to the agent, which runs on the Android device. This agent then transfers the changed classes to the running Android application.

Web links

Individual evidence

  1. JRebel enables dynamic deployment in Java. Computerwoche, July 27, 2013, accessed May 22, 2016 .
  2. ZeroTurnaround JRebel FAQ. zeroturnaround, accessed May 22, 2016 .
  3. ZeroTurnaround JRebel Buy. ZeroTurnaround, accessed May 22, 2016 .
  4. JRebel with update and free social edition. Heise, September 21, 2011, accessed on May 22, 2016 .
  5. R. Raudjärv, AR Gregersen: JRebel.Android: Runtime class- and resource Reloading for Android. 2015 IEEE / ACM 37th IEEE International Conference on Software Engineering, Florence 2015, doi: 10.1109 / ICSE.2015.337 , pp. 741–744.