My answer to Which one is the better Java EE application server? Glassfish or JBOSS
Answer by Vaibhav Kashyap:
Both Glassfish & JBOSS are full fledged JEE servers other than the TOMCAT which is merely an HTTP server and Java servlet container. Now out of these two servers GlassFish and JBoss, the selection of an application server is a strategic business decision.
I’ll be answering your question on certain factors depending upon which you need to access the requirements of your application and then decide which one to go for :-
1) The Installation and getting started :
To start, RedHat have made it simple as well with the bin/standalone.sh script, unless you want to run a clustered environment. Also there are several default configuration files in “standalone/configuration” directory, which allow to turn on and off default clustering and choose between web or full EE profiles, so one can pick the closest to what is needed and tweak it minimally.
Largest download, unzip install, slower, “standalone” named startup scripts.
No straightforward way to start the server, multiple install methods including unzip install is good, reasonable download size, but still large.
Jboss wins over glassfish.
2) Tooling support :
Jboss : There’s a maven plugin to manage your jboss instances. Its functionality includes starting and stopping, deploying and redeploying apps, managing resources and executing commands like through a jboss CLI(Command Line Interaface).
Good cross IDE support, able to make light server config changes, good maven support
GlassFish has also plugin for Maven and Ant which are quite well developed, enabling functionalities like deploy, undeploy, start and stop the server.
Info about where to find plugins is poor, great IDE support once the plugins were found (particularly with NetBeans and Eclipse).
Both are equal.
3) Server Configuration :
The whole default config is just 15KB (300 lines) of xml, located in a very predictable location. It also contains a couple of larger sample configuration for clustering. Changes are pretty static, configuration files are read at the start and isn’t reread automatically. However, a simple CLI (Command Line Interface) command: [MyJboss]$ bin/jboss-cli.sh –connect :reload This will do the thing for you without restarting the server.
Single file, 300 lines of xml 😦 Easy to config, well structured “subsystems” configuration, CLI reloads rather than restarts (manual process), several examples out-of-the-box.
Some configuration changes require that you restart the DAS or GlassFish Server instances for the changes to take effect. Other changes are applied dynamically without requiring that the DAS or instances be restarted.
Config is hard to get at, hard to read xml file, as admin is the recommended approach, but it’s hard to get started with, need docs and experience.
JBOSS is better in this case.
4) Documentation & Community :
Jboss : Slower releases, but docs are good, large community.
GlassFish : good docs, awkward to navigate to, some docs are outdated, good sized community, mailing lists, active forums.
Both are equal on this note.