Please investigate adding support for other JSF stacks, such as Myfaces, to JBoss AS7 as an alternative to JSF Mojarra.
For large data sets, a really bad JSF performance issue regarding AJAX requests has been identified. An issue ticket was created for this on the Mojarra issues tracker, but it might be quite a long time before they fix it, if it ever does get fixed.
Here is the link:
For every large data sets, the performance of a simple f:ajax calls slows down to the point it becomes as slow as a full page post. An f:ajax call passing 300 bytes of data could take 3+ seconds to perform a round trip, where the same exact f:ajax call might only take a 200ms if the page is smaller. The only difference between the big page and the small page might be several thousand h:outputText components that have no relation with the component associated with the f:ajax call.
This is a serious problem for a site such as the one I'm working on, where we sometimes have to load large amounts of data in an un-paginated manner, and also perform AJAX requests on the same page.
I took the example code attached to the Mojarra ticket and will be attaching it to this one. I have verified that it causes the problem by running the code on JBoss AS, the latest Glassfish server and even Tomcat. The problem isn't with JBoss, it's with the Mojarra implementation of JSF, so support for other JSF stacks, such as MyFaces, would greatly benefit projects with large data sets.
Finally, as seen in the Mojarra ticket, the author of the PrimeFaces component library has also performed some tests with the attached code and found that the MyFaces JSF stack doesn't have the problem. His comments can be seen in the reference ticket.