I really recommend going with GlassFish. In addition to your acquaintance, it uses the NIO network infrastructure ( Grizzly ), which supports a very large number of simultaneous connections.
First of all, we use JBoss, and I can say that JBoss5 can support a fairly large number of connections (as far as I know, it also uses a NIO-based connector).
There is also an EJB container called Resin , which is half-open (mostly they have an open source version and a proprietary version). People say that this is great performance, but I have no way to investigate further.
My last point: are you sure you want to go with the JavaEE EJB container? We actually started with the JavaEE EJB container, but because of our performance requirement, etc. We are now trying to upgrade to Tomcat + Spring. EJB has a restriction on the streaming model, etc., which can become an undesirable restriction if you have clients other than web browsers ...
Prior to JavaEE5, you only have this “TimerService” for periodic tasks, and JMS for asynchronous use, which is very heavy and can become very annoying.
Enno shioji
source share