Sanne Grinovero created JBTM-3273:
-------------------------------------
Summary: Avoid implementing InvocationHandler in jtaLogger
Key: JBTM-3273
URL:
https://issues.redhat.com/browse/JBTM-3273
Project: JBoss Transaction Manager
Issue Type: Enhancement
Components: JTA
Reporter: Sanne Grinovero
Context: optimisations for Quarkus
Class {{com.arjuna.ats.jta.logging.jtaLogger}} is implementing {{InvocationHandler}}, and
this is causing some difficulties in optimising Narayana for GraalVM native images.
One problem is that all classes which use the logger have access to the
{{InvocationHandler}}, which makes the analysis phase of the compiler quite more complex;
this gets confusing when there is a compilation failure as this gets occasionally reported
as the root cause (even though it's just one of the paths leading to a non-real
issue).
A secondary problem is that this class is inizializing a rather expensive proxy; this is
less important but it would be great for the sake of bootstrap optimisations to refactor
the {{i18NLogger}} field to not be a proxy.
See also
https://github.com/quarkusio/quarkus/pull/5343 : with such invocation handlers
being widely reachable, it's very hard to support its native compilation.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)