Glassfish is a good choice. Moreover, its relatively small load starts very quickly and always complies with Java EE specifications.
JBoss AS is not that bad either. It is also free, but somewhat more loaded, runs slower and is not a reference implementation means that it is always slightly behind Glassfish. Although the Eclipse release for Java EE includes a WTP adapter for JBoss AS, you'd better install a separate adapter from JBoss tools if you want a gradual deployment.
I found the JBoss community really useful, especially EJB and the general JBoss AS communities (via the JBoss forum).
source share