The one bundled with TomEE.
myfaces 2.3.7 on TomEE 8.0.6
and  e.g. myfaces 2.3.9 on TomEE 8.0.12

Am 26.10.2023 um 16:08 schrieb Richard Zowalla:
Which JSF lib are you using?

Am 26. Oktober 2023 16:00:57 MESZ schrieb Jens Zurawski <j...@diegurus.de>:
Thank you for your quick reply, Jonathan.

It is good to know, that normally the Dev mode should work as fast as before 
even with 8.0.15. So it obviously has something to do with my environment, 
configuration and/or code.
And also thank you for the reference to tomitribe. Unfortunately I'm the only 
developer on this project, and it will be difficult to convince my customer to 
an additional support subscription, because he on production doesn't have 
issues ;-) But, ok, that's my problem, and maybe I'll consult tomitribe in the 
future for other projects.
So, I'm afraid, for the near future I'm on my own to solve this problem. 
Therefore any hints to restrict the places where I should take a look will be 
more than welcome.

I'm a senior programmer with 20 years of experience in Java programming (SE and 
JSP). But I'm relative new to JSF/JavaEE/JakartaEE and sometimes I have a hard 
time to understand which component of the whole stack is responsible for what.
The project meanwhile has over a 1/4 million lines of code (most of them in the 
back-end, but also the front-end is big enough to not trace through every lane 
if I want to get to the point in this life :-D ).

The application now runs for nearly 2 years on the customers site and is very 
reliable and fast in its daily usage. Apart from occasional updates every few 
month, it will never be restarted or need any manual maintenance at all. So I 
assume the code is not the badest on earth. At least because of that I'm able 
to out-rule things like memory leaks, gc issues or bottlenecks (max Heap is 
never reached, neither half of it, even after running for month).

Of course there could be aspects of JSF which I may not have understood 
correctly until now. But because there are so many new things to a JSF beginner 
like me, I'm running out of ideas what this could be. It is something that 
worked well 'til TomEE 8.0.6 (Prod and Dev mode) and suddenly don't work 
anymore on 8.0.12 in Dev mode (but still works great in Prod mode). There are 
only minor versions in-between. So I think there were no revolutionary changes 
anywhere. My hope was (and still is), that anybody here on the list might have 
had a similar problem and has solved it, or maybe someone knows about some 
changes in Dev mode which could explain such behaviour (don't know, maybe xml 
parsing or component tree generation has changed, or scope handling of managed 
beans, or whatever could cause some code to be entered far more often than 
before, or some cache/pool was removed or has different behaviour... such 
things). Then it would be far more easy for me to track down the real problem.

Anyway, when I get some spare time (currently have some deadlines in sight), 
I'll try to build a small test case. Either I can get a grip on the issue 
myself on doing this, or I can supply it to anyone who might want to have a 
look at it.

cu
Jens



Am 26.10.2023 um 14:01 schrieb Jonathan S. Fisher:
newer versions are so incredibly slow in dev mode
I can assure you that Dev/Prod mode works very very swiftly on 8.0.15
for sizable applications. For example, I have a giant application
(thousands of LOC, 50+ jsf views) that has sub-8ms response times
(minus database time). More than likely they are doing something they
should not be doing with JSF apis and are causing problems.

I would check the obvious things first with VisualVM: heap size, gc
frequency, etc. You can also run their profiler and see if you can
spot anything immediately obvious.

After that, the easiest way to locate the code slowing you down is
bisection. Cut half the code out, run, and continue cutting until you
can locate the problematic code. Then after that, isolate a test case
where flipping a boolean flag triggers the issue and post the results
here.

I would get ahold of: https://www.tomitribe.com who are literal
experts in this stuff. They offer professional services to handle
exactly these situations and can work directly in your codebase to
help you find and fix the problem.

On Thu, Oct 26, 2023 at 5:48 AM Jens Zurawski <j...@diegurus.de> wrote:
Hi altogether,

I'm new to this list and hope it's the right place to ask this question.
If not, and someone know the right place to ask this, please give advise.

I'm developing a big JSF Application for a customer. It's a long running
project and development and when I started with it, TomEE 8.0.6 was the
most recent Version of TomEE. The switch to Jakarta is planned for next
year, so I'm still on the 8.x path for the time being and wasn't able to
test if this problem still exists in the 9.x branch.

The problem:
On the customers site I'm with the latest TomEE version 8.0.15 (running
on Java 11) and everything works fine, because it is running in
production mode. But in my development environment I'm still stuck with
8.0.6, because there I need the development mode
(javax.faces.PROJECT_STAGE: Development). I need to be able to see
changes in facelets without restarting everything everytime, and to get
more detailed error messages.
My attempts to update my dev TomEE to something newer than 8.0.6 all
failed, because all (at least all I've tested so far) newer versions are
so incredibly slow in dev mode, that it's unbearable to use the
application. Several very looong seconds on every request (even the
little AJAX requests in a view) is simply not a practical environment.
After switching to Production mode everything works very fast, and all
my views have response times of very few ms (even the big ones with max.
around 400ms). When switching back to Development mode I have response
times of up to 30s on big views. Not with 8.0.6, there even in
development mode it's reasonable fast in not getting higher than 1s.

My question:
What causes this enormous performance degradation? I'm hoping, it is
just a configuration which now has another default value or the like. If
yes, maybe someone can point me in the right direction of where to find
this configuration? If it's not a configuration thing: what can I do to
get around this?

I haven't tested all Versions of TomEE from 8.0.6 to 8.0.15, so I can't
say at what version exactly this behaviour changes. If it helps or is
needed, I can make some tests to find the exact version where this
happens. Versions I've already tested are: 8.0.12, 8.0.13 and 8.0.15.
All of them are very slow in dev mode. If you need more information,
I'll try to provide it.

Thanks in advance for any help
cu
Jens



--
jens zurawski
diegurus - zurawski zurawski poppl rohland GbR
juister straße 3
65199 wiesbaden

kaspersweg 7b
26131 oldenburg

internet http://www.diegurus.de

tel +49(0)611 72437966


CONFIDENTIALITY NOTICE: This e-mail message is intended only for the
person or entity to which it is addressed and may contain confidential
and/or privileged material. Any unauthorized review, use, disclosure or
distribution is prohibited. If you are not the intended recipient,
please contact the sender by reply e-mail and destroy all copies of the
original message.  If you are the intended recipient but do not wish to
receive communications through this medium, please so advise the sender
immediately.

Reply via email to