Archive for December, 2006

Run JBoss as a Windows Service on BEA’s JRockit JVM using Java Service Wrapper - not JavaService

Now that's a long title, but still not long enough. It doesn't mention the "java.lang.OutOfMemoryError: PermGen space" errors that led to the use of BEA's JRockit as the JVM of choice for our application server.

After reading several resources (#1, #2, #3) we'd determined the cause of our PermGen Problems:

  • Continuous integration was causing frequent "Hot" deployment to our application server (Tomcat 5.5 then JBoss 4.0.4 - Same problem on both). We're crediting the JVM's garbage collecting for not correctly unloading the "old"/previously deployed classes, thus causing the PermGen to run out of space.
  • Using Cruise Control running on Jetty, every time the build ran, we'd get a PermGen OutOfMemoryError during JUnit test target execution. We're crediting JUnit for this problem due to the massive class creation/loading that it uses to provide it's much appreciated "clean" environment with every test.

We temporarily solved the problem by not deploying "Hot"; automatically restarting the server instead. The JUnit test problem was temporarily solved by increasing the Jetty server's max PermGen size using the -XX:MaxPermSize=128m JVM arg. Neither of these solutions are great. The most commonly suggested real solution to these problems is to switch to BEA's JRockit JVM - I guess it doesn't have a Permanent Generation memory space so it's impossible to get PermGen memory errors.

Our next step... Running JBoss on BEA's JRockit JVM as a Window's service using JavaService... This didn't work. Why? I have no idea. After a lot of searching for JavaService and JRockit recipes and only finding unanswered questions to a common problem, "...the service will install correctly, but it won't start..." (orsomethinglikethat), I gave Java Service Wrapper a try. I initially preferred JavaService for it's simplicity and small learning curve for the impatient, but Java Service Wrapper works (even with JRockit) and isn't too complicated after a little reading.

To summarize my ramblings to this point: If you're having PermGen memory problems, then BEA's JRockit JVM may be your answer - just don't try to use it in combination with JavaService. Use Java Service Wrapper instead. Here's how to configure Java Service Wrapper to run JBoss on JRockit Read more »

Goodbye Yahoo! TV - Hello TV Guide

I've been a long time user of tv.yahoo.com/grid - until recently. I don't have cable television. I don't have satellite either. I've got a big set of rabbit ears in my attic. My complaint is not the lack of channels, how well standard definition broadcasts view on my 16 year old 25" Sanyo TV, and especially not the price; Free. What the rabbit ears don't get you is a nice on screen TV schedule. I've been using http://tv.yahoo.com instead. It was simple but very functional.

Yahoo! TV got a face lift... it might even have new features, but I wouldn't know. I only used the TV schedule. I won't use it anymore though. The TV schedule was part of the botched operation. It's now potentially pretty and very "Web 2.0ish"... minus the usability improvements at the heart of #2.

My critiques complaints:

  1. Time Zone: As a software developer, I understand that localization is no fun, but if you let the end user select a locale using a zip code and then display the "region"/metropolitan area associated with that zip code (ie. Kansas City), your time-based schedule software better show the correct time for the user's selection. Kansas City time is CST not EST (I thought that was pretty obvious). FYI... "King of Queens" aired at 7:00PM CST and 7:30PM CST.
    Time Zone
  2. Select Favorites: I watch (at least have available to me via rabbit ears) channels 4, 5, 9, 19, 29, 38, 41, 50, and 62. The "old" - or should I say "stable, production" version of tv.yahoo.com/grid knew about all of those channels - even how to order them numerically... but I'll touch on that in a bit. For some reason the new, improved tv.yahoo.com has overlooked channel 9 and replaced it with channel 7 (the digital/HD version orsomethinglikethat). It may sound like a petty complaint, but hey... "what happened to channel 9?"
  3. Display My Favorite Channels Only: This is a fantastic feature! If only it worked correctly... When I opt to use this feature, channel 7 (MIA channel 9's replacement) is missing from the list. This feature is now useless as ABC is one of my household's favorite channels.
  4. Overall Display: This is a "two-fer" complaint. If I can't use the Display My Favorite Channels Only feature to filter unwanted channels, then at least display all the channels neatly. Get rid of the huge (app. 275px) gap in the middle of the page. I'm sure there is a logical split in the channels... I'm just not smart or patient enough to figure it out. It'd also be nice if the channels were ordered numerically... I'd had expected channel 4 to be listed before channels 19, 29, and 38, but I'm no Human Factors Expert.

No single complaint here would have turned me away from the new site, but put it all together and it is no longer useful to me. I'm now using TvGuide.com's TV listings that doesn't fault on any of the above.  I'd love to continue to use Yahoo! TV, so please let me know if I'm using this software incorrectly.  I've encountered the same problems in both FireFox and IE.