Speeding EJB Development

One of my biggest sources of frustration when developing using Java EJB containers has been the need to restart my server every time I make a change.  For a while I was able to work in “development mode,” which let me see my EJB changes instantly, but for various reasons that option is no longer open to me — or at least it’s a long way back to those glory days.

This is a big issue, as it often takes minutes to restart an EJB server… something you might have to do many times as you work out a particular issue.  My issues are exacerbated by the fact that I’m one of those retro System.out.println debugging guys; while I’m developing I’m a lazy slouch and avoid debuggers.  Even if I stepped up to the challenge of learning my tools, however, a debugger doesn’t let you try out various solutions quickly or develop organically.

Several months ago we had several different developers in the department independently come to me asking if we could get licenses for JavaRebel, a tool that removes most of the need to restart your appserver when developing your product.  Some of us played with the trial a bit and like what we saw, so we decided it was time to look into purchasing some licenses.

I learned some time ago that if you can speed up development, it’s pretty easy to justify the purchase of a new tool.  (That doesn’t mean the purchase will be approved, only that it’s easy to justify!)  I ran the numbers for JavaRebel, and here’s what I found: by saving several minutes a day by removing server restarts, each JavaRebel license we purchased would pay for itself in less than a couple weeks.

We ordered licenses for our entire development team, quickly rolled it out — and haven’t looked back.  The folks over at ZeroTurnaround (producers of JavaRebel) liked our ROI approach and now offer a business value calculator on the JavaRebel product page.  Try running some numbers and see how long until it pays for itself in your organization.

There are limitations to the technology, to be sure.  It can’t pick up some specific classes of changes and previously it mangled our logs as well.  Version 2.0 looks to solve many of these issues, but even version 1.x has been a boon despite its problems.

As I write this there’s a quote from me up on the JavaRebel product page.  I’ve been impressed with the product and it’s helped speed up my development, but it may not be everyone’s cup of tea.  Download it, take a few minutes to configure it, and see if it makes sense in your environment.  If your experience is like ours you’ll probably end up saving a lot of time and enjoying the development process more.

ZeroTurnaround: http://www.zeroturnaround.com/

2 Responses to “Speeding EJB Development”

  1. Jevgeni Kabanov Says:

    Thanks, Jim! It’s awesome to have you as our client :) Keep it up!

  2. Server Restarts, the Great Time Waster « Supply Chain Technology Says:

    [...] Restarts, the Great Time Waster I’ve previously mentioned that a great deal of time spent on development can be attributed to the time taken up waiting for [...]

Leave a Reply