I was tired of messing around with Tomcat to try to get hot re-loading of web applications to work. I took a couple of hours to look at the free GPL version of Resin, messed around with the configuration and upgraded a webserver with 10 web applications last night.
Everything seems to be working wonderfully well, I can now just unpack a new version of one application and it will individually reload in a couple of seconds. This brings Java web applications one step closer to the flexibility of PHP in terms of deployment. It was really starting to piss us and our customers off that every little change required a full restart of the entire servlet container. Now, everything is individually closed correctly, even running schedulers, IRC bots, ... and started up as new again. I'm very pleased. If you haven't tried out Resin yet, give it a look, it seems to have a collection of other very useful features too.