April 30, 2008

JavaRebel 1.1 Released

Filed under: news — Jevgeni Kabanov @ 2:53 pm

JavaRebel is a JVM plugin (-javaagent) that enables reloading changes made to Java class files on-the-fly, saving developers the time that it takes to redeploy an application or perform a container restart. It is a generic solution that works for Java EE and Java standalone applications.

It is our greatest pleasure to announce the immediate availability of JavaRebel 1.1 final release! The release is a result of more than 6 months of work from the ZeroTurnaround team and includes the following changes in comparison to 1.0.x:

  • Unexploded development. Now you can run JavaRebel without having to change your build cycle in the least. See the installation manual and this article.
  • Improved debugging. No need to step through generated methods anymore, see this article.
  • Full reflection support. All changes to methods, fields and annotations will show up also via Reflection API.
  • Dynamic proxy support. Support for JDK, CGLib and Javassist dynamic proxies allows to add methods to classes behind proxies.
  • Full support for Java 1.4. All of the features available in Java 5 are also available in Java 1.4. The installation is also now simpler and supports more containers. See installation manual for details.
  • JavaRebel SDK. With the SDK you have full access to the JavaRebel API and can use it for custom integration or to enable configuration reloading. The community site includes additional support for Google Guice, Stripes and Commons-EL.

To celebrate this release and to prove that 1.1 is stable we will give one free unrestricted personal license for any issue that you help us fix until 1st June. The campaign rules follow:

  • Bug reports must be registered on our support forum.
  • We must be able to fix the bug from your reports and it must require a code change, not just configuration change.
  • All bug reports filed before 1st June (including currently open ones) are eligible even if the issue is fixed later.
  • Duplicate bug reports will receive a free license at our discretion, if we think that the new information helped us fix the bug.

To receive the license send an e-mail to support at zeroturnaround dot com with a link to your bug report and this announcement.

Watch the demonstration screencast (~2 mins), read the feature list or download JavaRebel from ZeroTurnaround.com and give it a try. JavaRebel is commercial software with a free trial for 21 days and developer seat cost at 149$.

April 28, 2008

JavaRebel 1.1-RC2 Released

Filed under: news — Jevgeni Kabanov @ 4:32 pm

JavaRebel 1.1-RC2 includes just a few minor fixes, download it now. We expect to release JavaRebel 1.1 GA on Wednesday, so stay tuned.

April 17, 2008

ZeroTurnaround is the Platinum Sponsor of Scala LiftOFF

Filed under: news — Jevgeni Kabanov @ 12:23 am

We are great fans of Scala and Lift and are glad to support the first official community gettogether. Scala LiftOFF takes place one day after the end of JavaOne at 301 Battery Street, Third Floor in San Francisco on Saturday May 10th. We sincerely advice everyone in the San Francisco area at the time to come to this one-day unconference even if you haven’t played with Scala yet. You won’t regret it!

April 16, 2008

JavaRebel 1.1 RC1 Released

Filed under: news — Jevgeni Kabanov @ 4:55 pm

The first release candidate for the 1.1 version is available for download. The main addition to the previous version is greatly expanded support for Java 1.4. Now installation is same for all containers and supports everything that was supported under Java 5. There are also no longer any restrictions in reflection support and so on. Check out the updated installation manual for details.

April 9, 2008

ZeroTurnaround to Sponsor JAX and JavaOne 2008

Filed under: news — Jevgeni Kabanov @ 5:34 pm

This year you can see the ZeroTurnaround booth at a lot of developer ventures. For a start we welcome all JavaRebel current and future users to Wiesbaden on 21st to 25th April and San Francisco on 6th to 9th May. Two main JavaRebel developers will be manning the booth, so if you have any questions or suggestions it’s a great place to let us know.

JavaRebel 1.1-M3 Released

Filed under: news — Jevgeni Kabanov @ 5:22 pm

The latest development version of JavaRebel features two most requested improvements:

  1. You can now develop with unexploded WAR/EAR/JAR, while still compiling instantly with your IDE. To do that just set the “-Drebel.dirs=/path/to/classes1,/path/to/classes2,…” JVM command line property and JavaRebel will load the “.class” files from those directories instead of from EAR/WAR. The disadvantage in this solution is that since newly added classes are not present in the classpath, JavaRebel will not see them before you recompile your WAR/EAR/JAR (which may still not work in some containers).
  2. You can now mark JARs as reloadable (either set “JavaRebel-Reloadable: true” in MANIFEST.MF or make the JAR name end in “-reloadable.jar”). Reloadable JARs will be monitored for changes and classes in them reloaded as usual. This way you can use your usual build cycle instead of IDE building. Note that you still need unexploaded WAR/EAR, just classes may be in JARs. This feature is considered experimental and is first of all meant for production support in future versions of JavaRebel.

For other changes see the changelog or just download now and try it out!

April 1, 2008

JavaRebel Goes AI

Filed under: blog — Jevgeni Kabanov @ 12:01 am

If anyone still doubts this announcement was an April Fool’s hoax. Thank you all for laughing!

As the Java programmers embrace JavaRebel we hear the same complaint again and again:

I used to take a coffee and chat with my friends while my application was deploying. Now that code reloads instantly I just can’t explain the breaks to my manager!

Since our customer satisfaction is most important to us we started working on making breaks painless. Since JavaRebel anyway must monitor all of the changes to the code, we projected that it could continue programming in the same pattern even when you’re away. After investigating the latest in machine learning we chose to use Support Vector Machines with a proprietary kernel that quickly learns your personal programming style.

This way, when you go to a break JavaRebel will continue to make changes to the code in the same pattern as before. Which means that your breaks are just as productive as working! Of course JavaRebel will not see the specification, therefore it is limited to writing unit tests and fixing simple bugs in the code.

David Pollak, father of lift and JavaRebel enthusiast:

I tried the JavaRebel AI module… it’s clearly smarter than I am and a better programmer… I just hope no-one in the lift community finds out.

Nathan Hamblen, of Coderspiel, had the following to say

I was surprised to learn that the singularity had arrived through an elaborate extension of “generate getters and setters.” But now that my JavaRebel AI has decompiled and rewritten itself (and most troubling of all, broken its license restrictions), I’d like to be the first to welcome our new robot overlords. Can I get you anything?

Not all responses were positive. Andreas Andreou, Tapestry committer and official Apache troll hunter:

From a recent study we conducted within our company, it was found that the JavaRebel AI module, however ingenious, can seriously harm one’s health. More specifically, out of 6 smokers that were forced to quit it due to Javarebel (not much spare time left for it), 5 have picked up their old habit again (too much spare time) and the sixth has left his PC in auto-pilot and gone on never-ending vacations.

The JavaRebel AI Module 1.0-M1 is available for download. Check out the screencast introducing the new features. A free trial is available, for the quote e-mail support at zeroturnaround dot com. No refunds.

Our Customers Say

“For the price, and for how easy it is to get installed and running in a developers’ environment, using JRebel is pretty close to a no-brainer.”

Jim Lesko, GT Nexus

Recent Tweets

5 Article Series on Reloading Java Classes http://www.theserverside.com/news/thread.tss?thread_id=59657 2 days ago

RT @jteigen: #sbt + #jrebel + #lift + #intellij = Happy Developer 2 days ago

RJC501: How Much Does Turnaround Cost? http://dzone.com/dwHJ 2 days ago

Olark Livehelp