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