The first step would be to just use the bundled tomcat inside jboss. It's a lot slower the other way.
Then you may consider grouping customers on the same physical jboss instances.
Using the bundled tomcat isn't an option. The decision to use seperate tomcats running on seperate boxes was made on the basis of security.
If somehow the tomcat instance is compromised, all the attacker gains access too is that machine, which has no direct access or authority to access the EJB server.
Grouping the customers into a single or at least less jboss instances was what I thought would be correct.
We're currently using 3.2.5, is it possible on this version?
I've searched the wiki and the faq documents, but can't find any information on running the same app multiple times in a single server instance.
Why not use an httpd to front the bundled jboss/tomcat? It's a very common and secure setup.
Running the same app many times would be the same for every application server. You'd basically need to have somewhat different settings for every application deployment so they don't conflict with each other, (e.g. jndi bindinds, datasource config), with the option to isolate the deployment at class level, as well.
Unfortunately i'm not in charge of the security setup, so it's not an option to collapse it all down to one box and using the bundled tomcat.
That isn't really the problem though.
It seems that the normal way of doing this would be just to run the same app multiple times in a single server.
Maybe with 2 server instances, one for all the live and one for all the test deployments.