On Aug 6, 2014, at 10:30 AM, Bill Burke <bburke(a)redhat.com> wrote:
What you mean to say is that you need to scale to 100's of
thousands of
clients on meaningless no-op benchmarks. :) I do know that that old
SpecJ Java EE benchmarks artifically made EJB pooling important as
process intensive calculation results were cached in these instances.
But real-world apps don't use this feature/anti-pattern.
If the benchmark in question is doing that, that would most definitely explain this. I
mean we know the following can perform poorly without pooling:
1. Expensive initialization in @PostConstruct
2. Lazy expensive initialization in a invocation (what you allude to above)
3. Expensive initialization in a constructor
Large allocations of objects count as expensive initialization.
--
Jason T. Greene
WildFly Lead / JBoss EAP Platform Architect
JBoss, a division of Red Hat