Imagine a bacon-wrapped Ferrari. Still not better than our free technical reports.
See all our reports

Announcing JRebel 3.0 M1 — The Next Generation

While finishing the polish on the 2.1 release we were also preparing for you a glance at what’s to come in the longer term. Without further ado, allow us to introduce the JRebel 3.0 M1 release features:

  • Support for adding static fields and changing enums. Previously when you added a static field to your class you’d see a discouraging warning in the console and get an exception when trying to access the field. Now JRebel will happily print “Reinitialized class” and your application will continue working as if nothing happened. To top it off you can also now change Java 1.5 enums in any way you like and they should just continue working. This feature is still a tad experimental, so please help us out to smooth it out!
  • Full JSP <scriptlet> support. Now when you change your Java code (e.g. add a method) it can be immediately used in the Java code snippets in the JSP.
  • 25%-30% less memory use. It is not uncommon to need a lot of PermGen heap with JRebel enabled. Now we optimized the memory use and will continue to drive it down in the upcoming milestones.
  • No more classloader leaks. JRebel no longer holds any references to class loaders a second longer than necessary. This should help to get less OutOfMemoryErrors on application redeploys with JRebel enabled.

There are also quite a few changes to the API that will enabled more features in the upcoming milestones.

Note that since we don’t charge for upgrades, it is not our goal to put all the cool features in the 3.0 release. Rather we’ll continue to add features to the 2.x branch (expect at least a 2.2 release this year) and only put large or risky changes that require a lot of testing or feedback in the 3.x branch.

Download the release.

  • Anthony Holland

    WE NEED BREAKPOINT BREAKPOINT BREAKPOINT SUPPORT PLEASE!!!

    Hi, I use JRebel constantly and it is a huge timesaver obviously. So why do I so often kill the app and restart? Not really because of static constants or changes to enums: those are relatively uncommon tasks or I can work around them e.g by creating a method isDebugMode() instead of using a constant. No, the *big reason* for restarting is because after on JRebel recompile, line numbers are lost and break-points no longer work. If you could solve this, I would happilly pay for an upgrade, 3 times over. Thanks!

  • Anthony Holland

    WE NEED BREAKPOINT BREAKPOINT BREAKPOINT SUPPORT PLEASE!!!

    Hi, I use JRebel constantly and it is a huge timesaver obviously. So why do I so often kill the app and restart? Not really because of static constants or changes to enums: those are relatively uncommon tasks or I can work around them e.g by creating a method isDebugMode() instead of using a constant. No, the *big reason* for restarting is because after on JRebel recompile, line numbers are lost and break-points no longer work. If you could solve this, I would happilly pay for an upgrade, 3 times over. Thanks!

  • @Anthony

    This topic is better discussed on the forum, could you post a story there among with what IDE do you use and when exactly do the breakpoints stop working?

  • @Anthony

    This topic is better discussed on the forum, could you post a story there among with what IDE do you use and when exactly do the breakpoints stop working?

  • Toomas Römer

    We have special plugins for NetBeans, IntelliJ IDEA and Eclipse that fix that problem. Check the download section (http://www.zeroturnaround.com/jrebel/download/).

  • Toomas Römer

    We have special plugins for NetBeans, IntelliJ IDEA and Eclipse that fix that problem. Check the download section (http://www.zeroturnaround.com/jrebel/download/).

  • Anthony Holland

    Hi, I have posted http://www.zeroturnaround.com/forum/topic.php?id=489, please see that topic, and you can delete this thread if you like.

  • Anthony Holland

    Hi, I have posted http://www.zeroturnaround.com/forum/topic.php?id=489, please see that topic, and you can delete this thread if you like.