While putting together Out-of-the-Box, a collection of Open Source projects, we had the opportunity
to research dozens of community offerings, including several J2EE containers. It didn't take very
long to decide that JBoss is the right choice for production environments.
Our distribution includes some sample applications that put the JBoss/Tomcat combination through
its paces. Among the samples are an EJB benchmark that exercises the basic EJBean types and a
Struts/Tiles application that uses Message-Driven Beans and JMS. Throughout the entire development
process, JBoss has always been rock solid.
When the distribution was finished, we needed an e-commerce site to sell our wares. The decision to
base our production e-commerce site on JBoss was a simple one.
In less than 3 weeks, we had our Struts/Tiles-based e-commerce solution up and running on Apache,
JBoss/Tomcat, and MySQL. This would not have been possible without help from tools like Middlegen
and XDoclet, and the JBossCMP query language extensions that let the database do more of the work.
Of course, we hit the inevitable problems along the way, but the JBoss mailing lists and forums
were always an excellent source of J2EE knowledge, known issues, workarounds, and bug fixes. Twice
we enhanced the JBoss code to add functionality we needed to have in a hurry; try that with a
closed-source commercial container.
Except for upgrades, we have not needed to stop our production JBoss server (now at 3.0.5RC1) for
any reason. Our development and test environments are Windows XP on Intel and our production
servers run Red Hat Linux 8.0 on AMD.
As a side note, our next version of Out-of-the-Box adds PostgreSQL as an alternative or as a complement to MySQL. It was wonderful to discover how easy it is to have JBoss use either database for CMP or for durable JMS messages. In fact, it's easy to use both databases in the same environment concurrently.
Long live JBoss!