We have an application containing servlets and beans.
For the moment, we are running a different JBoss instance for each different configuration/version of our application.
Our application is used by multiple clients. Most clients use our main JBoss server instance, running the latest stable config. However, sometimes we need to get an alternate, tailormade version running quickly when a client has custom demands. For this we branch of a new JBoss server instance.
Multiple server instances on the same server seems like (and probably is) a huge waste of resources. Memory is the main problem, as each JBoss instance will happily consume a large part of the system's available memory.
I am wondering if it isn't possible to run both versions of the application on the same JBoss instance. Ofcourse, there are some conflicts: - Servlets are mapped on the same URL's - Beans are mapped on same JNDI names - .. ?
So what steps are necessary to allow multiple versions of the same application to run next to each other?
Changing the URL's or names on which servlets/beans are mapped is quite complicated, error-prone and effort-consuming. This can be remedied by centralizing the configuration of these things, but it still seems akward ...
Is there maybe a better option? A way to separate the running applications on a higher level?