Some of our users pointed out that they missed the news about the minor releases. And indeed, we have realesed 3 minor versions during last two months. Now I’ll try to fill the void with the information, what has been added and improved in the new JRebel versions. The changelog is available for all the releases, however it makes sense to describe some of the points in more detail.
First of all, the most important update is related to debugger integration. While in the major 4.0 release we introduced HotSwap integration, we discovered a few bugs right after. The problem was that the debugger couldn’t hit the breakpoint after a class has been reloaded, both in Eclipse and IntelliJIDEA. The issue required a fix in JRebel itself and also the IDE plugins had to be aligned in order to confirm to the new behavior.
The following screencast demonstrates the debugger behavior while JRebel is enabled in IntelliJIDEA.
Note that the debugger setup is now changed – previously Reload classes after compilation option had to be set to either Never or Ask. If asked, the user had to select not to hotswap the classes in the running application. But now the option should be either set to Always or, if asked, the user can choose to hotswap the changes via the debugger, even if a structural change, such as adding a field or changing a method signature, was introduced. See the related documentation for plugin configuration.
Fixes and new OSS framework integrations
A number of fixes were introduced in the plugins for the OSS frameworks. Spring, Struts, Hibernate – those are very popular frameworks and as the users report the issues the integrations become more and more polished.
Also, we’ve added some new integrations, including support for Apache Wink, Spring-WS and JAXB. The new plugins are disabled by default but you can easily switch on the required plugin using a corresponding VM option (e.g. -Drebel.springws_plugin=true).
Integration with brand new application servers
As some of our users would like to use the brand new versions of the application servers, even if these aren’t finalized yet, we actually do our best to introduce the support for the containers as early as possible. On the change log you can notice that we’ve added the initial integration with Geronimo 3 (still a milestone release) and JBossAS 7 application servers.
The so long awaited Java 7 release is almost here and we’re sure it will get wide adoption right from the beginning. So JRebel has the initial support for Java 7 also. Don’t expect it to be super-stable yet, but we’re close to make it rock-solid soon!