So I moved my server over to Tomcat 5.0.18. I don't seem to be able to work out the magic formula for Apache, so right now Tomcat's serving up everything. The problem with Apache is that I was using the magic mod_proxy + mod_rewrite solution (which works great at work, thanks Andrew!) and it's passing the right stuff through to Tomcat, but then gives me 403 errors on everything else. Googling didn't seem to solve the issue. I don't trust Tomcat at all, so this setup makes me uneasy. I've been a loyal user of Orion Server for going on 4 years now, so to make the switch was a pretty big deal for me.
I really hope Tomcat 1) works well under load or 2) stays up for more than a few hours. Right now doing a ps aux on my Linux server brings up an metric shitload of Java threads. What the hell could all those threads possibly be doing? God I hope this thing stays up over night.
Some notes. First, I moved away from my custom Redirect Servlet I've been using for the past year, and am now using Paul Tuckey's URL Rewrite filter. So far, so good. It's a very slick piece of work. I'm not sure if it fixed the famous (if you're a mobitopian) cacheing problem my site has (where signing in or updating a page shows no change until you shift-refresh. I get 2-3 accusations a week from commenters who want to know why I deleted their post for the same reason). I thought that bringing the process back to the Filter level would help, but it doesn't seem to. I'm not sure what to do about this.
Server.xml: Since I host several sites on one IP address using HTTP 1.1 virtual hosting, this took some time to get right. The Alias tag works as advertised, which is very nice, but the DB Pooling gave me fits. Basically, the idea is that you can put your database stuff in the GlobalNamingResource section, but if you do, you have to use a ResourceLink in your Context. Also you have to refer to database in JNDI using the full-on path, which is annoying: java:comp/env/jdbc/YourDataSource . In Orion the comp/env part of the JNDI address is assumed.
What else? Tomcat is still pretty annoying. I really miss having pages automagically re-compile when I mess with any of the included pages, and I miss the webapp automagically reloading when I touch the web.xml. Having to restart the server in order to test a variable that's being loaded on servlet init is a PITA.
Anyways. Whew, everything's moved over and I learned quite a few things which I'm sure to use in the future. This is probably the main reason that I'm moving to Tomcat. Everyone seems to have experience with it besides me. Instead of putting all my eggs into one app server, I'll now be using the most popular - and open - Java web app server out there and can be the guy who knows what's going on when other people go looking.
Let's hope it's stable enough so I can start using JSP 2.0.