Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-3273

Avoid implementing InvocationHandler in jtaLogger

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Done
    • Icon: Major Major
    • 5.10.5.Final
    • None
    • JTA
    • None

      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.

              mkunwar1 Mayank Kunwar (Inactive)
              sgrinove Sanne Grinovero (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: