BT

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

by Srini Penchikala on Apr 05, 2009 |

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.

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

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT