Dave Johnson on open web technologies, social software and Java
[rebelutionary] -> I was thinking about what John Robb said today. Knowing how few Java / J2EE focussed weblogs there are, I decided to create a page listing to all that I have found. Hopefully this list will get larger in time and will help Java bloggers find other Java bloggers! See Java and J2EE Weblogs.
I've been using the commercial Resin 2.1.1 server for all my Roller work for about a week. I have found Resin to be noticably faster than Tomcat 4.0.1, but I have not done any benchmarks. I also found Resin to be easy to setup, just like Tomcat: unzip the files and run the start-up script. Right now, I have no reason so switch back to Tomcat. I'll stick with Resin at least until I have time to take a look at the Tomcat 4.1 release candidate.
Resin implements the Servlet 2.3 specification, but Resin also offers some nice non-standard ease-of-use enhancements. For example, if you put Java files in your webapp's /WEB-INF/classes directory, Resin will watch them and compile them when they change. I won't use that, but it sounds kind of nice. Another example: when Resin detects that my webapp's classes or jars have changed it will reload the webapp - with Tomcat 4.0.1, I had to restart the whole server when my webapp's jars changed.
Resin allows you to include Servlet Context configuration properties inside your webapp's web.xml file, using non-standard (proprietary) XML tags. For example, you can configure Servlet Authentication by putting a Resin-specific <authenticator> tag within the standard <login-config> tag. This is convenient for developers, but as you write your build and install scripts, you'll need to be aware that non-standard web.xml stuff like that will cause porting problems and will have to be stripped out before deployment on other servers. Instead of adding new XML tags to web.xml, I'd would rather see them add a separate web-resin.xml file for their stuff.