First is not good idea compare JBoss and tomcat it's quite different what can do JBoss can not be done by Tomcat. We're pleased with last years using JBoss but for what really we use, JBoss is not mandatory. Really JBoss comes with Tomcat inside, messaging queue etc. Any application running under Tomcat can run ( with minimal changes ) in JBoss.
The first question you should have in mind is: what I need ? an application server ( JBoss ) or a servlet container ( Tomcat ).
Arrived at this point OpenKM ( here please consider I'm talking about our specific application ) get better performance under Tomcat, consumes less memory. Start and stops faster ( obviously is running less services ) and give us better performance with same hardware. Why we decided downgrade OpenKM to tomcat, basically for this reasons:
- If we make only Tomcat dependant, then is more easy to configure under JBoss, Weblogic etc... ( some customers wants their own application server ).
- Each time we upgrade from JBoss version X to JBoss version X+1 ( for example from 4.x to 5.x ) we a lot of problems, sometimes not easy to solve and reason why stay in version 4.x during a long period. Current JBoss version is 7 and OpenKM 5.x comes with JBoss 4.2.3GA