JRebel 4.0 Release - Instrumentation/HotSwap Integration

| by Kostis Kapelonis Follow 0 Followers on Jul 05, 2011. Estimated reading time: 1 minute |

A note to our readers: You asked so we have developed a set of features that allow you to reduce the noise: you can get email and web notifications for topics you are interested in. Learn more about our new features.

ZeroTurnaround has released the next version of their JVM plugin that allows for instant code changes without complete redeployments.

JRebel attempts to free the Java developer from lengthy redeployment times by offering a solution similar to Hotswap but without all the shortcomings.. It also allows for reloading of other resources other than Java files that form a modern Web application. We spoke with ZeroTurnaround's CTO Jevgeni Kabanov for some insights on this new version.

InfoQ: Is the basic reloading mechanism the same as JRebel 3.0 or is it significantly changed?

Under the hood the mechanism has changed significantly. The majority of changes were made to enable LiveRebel to run with only 3% performance overhead and handle concurrent reloads safely, but JRebel also benefits from the same features as well as others made possible by this groundwork, e.g. the fact that "-noverify" flag is no longer necessary and that debugging experience is improved as well as others in the near future.

Unlike JRebel 3, version 4 has completely embraced the instrumentation services of Java 5+. This is a well known solution already used by several other JVM-level product offerings.

InfoQ: How does JRebel 4 use the Instrumentation API? Does this mean that JRebel only works with Java 5?

JRebel was (and still is) compatible with Java 1.4, so it does not strictly rely on the availability of the Instrumentation API. However in JRebel 4.0 we take advantage of the Instrumentation API when it's available to reduce performance overhead and simplify many operations.

Completely new to this version is the ability for reloading EJB components on the fly or injecting new beans via the @EJB annotation. Better support for anonymous classes was also added. The number of JRebel plugins has increased in order to cover several popular frameworks including Seam 2.x

Finally an Eclipse plugin offers JRebel integration from within the IDE.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread


Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you