JavaRebel 2.0 supports WAR/EAR hot-deployment and Spring integration

| by Srini Penchikala Follow 36 Followers on Apr 05, 2009. Estimated reading time: 1 minute |

The latest version of JavaRebel, a JVM plugin used for dynamic deployment of application code changes, supports WAR/EAR hot-deployment and integration with Spring and Struts 2 frameworks. ZeroTurnaround development team recently announced the release of JavaRebel 2.0 version.

The tool uses a Java agent (-javaagent) to hot-deploy the code changes made in java classes in the web applications to override the servlet container (JBoss or Tomcat) default WAR deployment behavior (which redeploys the whole web application context).

The new features in JavaRebel 2.0 include:

  • Changes made in method body of a java class.
  • Changes to class structure, including adding methods, fields, constructors, changing/adding annotations, and changing interfaces.
  • Integration with Spring and Guice frameworks using JavaRebel plugins, which allows the application configuration to be changed dynamically. Plugins can be created using the JavaRebel SDK. It also has integration with MVC frameworks like Wicket, Stripes, Tapestry 4, and Struts2, with an open API for adding further support.
  • Exploded and Packaged Deployment: The new version supports application deployment as WAR/EAR files with exactly the same way as the exploded developments work. All the classes and resources will be reloaded on the fly as the application files are modified and saved. This feature requires a new configuration file called rebel.xml to tell JavaRebel where to find the updated classes and resources. There is also a Maven plugin that can be used to do this configuration from outside the IDE.

The new version of JavaRebel also includes some performance and startup time improvements, Reflection API changes and better test suites to verify the product functionality. There is also support for AspectJ load-time-weaving, IBM WebSphere and Groovy dynamic language. JavaRebel also has support for Eclipse platform where the developers can launch their plugins and as they change the source code they can see the results without restarting the new Eclipse instance.

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

Some corrections by Jevgeni Kabanov

JavaRebel does not use a custom classloader, -javaagent is a way to register a "Java agent" that has access to some lower level APIs like bytecode postprocessing. Also "Strut2" -> "Struts2" and atm JavaRebel is not integrated as an Eclipse plugin, it can be used to develop Eclipse plugins.

Re: Some corrections by Srini Penchikala

Thanks Jevgeni. I have made the corrections.

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

2 Discuss

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