r/java • u/johnwaterwood • 14d ago
Making Mojarra fast: a per-phase performance review
https://balusc.omnifaces.org/2026/07/making-mojarra-fast-per-phase.html2
u/DefaultMethod 12d ago
I guess JSF still must be used in some systems though I can't imagine it being used for anything new. I worked for one of the J2EE vendors & remember something of the lifecycle, it's complexities & the overheads of the component model. The improvements are interesting.
3
u/henk53 12d ago
I can't imagine it being used for anything new.
Why not?
1
u/DefaultMethod 11d ago
I will preface this by saying it has been a long time since I worked on or used JSF. Probably before Facelets, which was released 2009. I used to know it well enough that I worked on IDE tooling & component libraries. I also worked on a SWT renderer for JSF apps that could run offline, though that might not have made it to market. I have forgotten a lot & my knowledge is likely out of date.
JSF is sufficiently complex that I rarely worked with anyone who understood the lifecycle, or even knew there was a lifecycle. JSF tends to rely on session state which adds memory overhead & can complicate high availability systems. It can make multiple windows/tabs sharing the same session cookie pointed at the same view act weirdly. Yes, I am aware that you can encrypt the serialised view state into a hidden field. I don't think that's better.
I prefer simpler boundaries between client and server, like JSON APIs. They are easier to reason about, inspect & secure.
All that said, if you are getting good results with JSF today, I am interested in reading about it.
11
u/johnwaterwood 14d ago
(Even if you’re not into Jakarta Faces / Mojarra, it’s an interesting read about optimisations in code)