Chose Red Hat JBoss Enterprise Application Platform
Jboss supports JEE standards and provides features like high availability, clustering, hot deployments, configurable features. you can quickly add or remove needed features and cut jboss footprint and reduce boot time.
JBoss EAP is subscription based/open source platform. It's very reliable and great for deploying high transaction Java based enterprise applications. It integrates well with third party components like mod_cluster and supports popular Java EE web-based frameworks such as Spring, Angular JS, jQuery Mobile, and Google Web Toolkit.
As the version supported by Oracle we have an extensive documentation, the Oracle GlassFish server online documentation library, patches ,and support from the supplier.
Ease of use through the administration console.
Integration with the NetBeans development interface.
MOD_CLUSTER integration. JBoss EAP integrates pretty well with mod_cluster. This is an intelligent load balancer especially useful in highly clustered environments.
Supports enterprise-grade features such as high availability clustering, distributed caching, messaging etc.
Supports deployment in on-premise, virtual and hybrid cloud environments.
One of the areas where we found Glassfish adaptation difficult for our company was the lack of documentation and community forums covering important issues.
We ran into a roadblock with OAuth 2.0 implementation and did not get great support on that issue.
Jboss CLI is a great tool but we had trouble using it to get values that are displayed on Jboss GUI. It also has limitations parsing the applications.xml files and we had to use a mix of jboss-cli and linux bash commands to automate certain application administrative tasks.
JBoss doesn't really provides performance tuning recommendations. It would have been nice if it could learn from the current demand vs current settings for things like connection pool, server configurations, garbage collection etc.
Usually, Red Hat JBoss Enterprise Application Platform is good at performance and well suited for high traffic Java EE-based applications, but we have faced hard times performance tuning it for our specific needs. The product would be nicer if they would add a performance diagnostic and recommendations feature to it.