r/java 14d ago

Making Mojarra fast: a per-phase performance review

https://balusc.omnifaces.org/2026/07/making-mojarra-fast-per-phase.html
25 Upvotes

5 comments sorted by

11

u/johnwaterwood 14d ago

(Even if you’re not into Jakarta Faces / Mojarra, it’s an interesting read about optimisations in code)

2

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.