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

Avoid implementing InvocationHandler in jtaLogger

    Details

    • Type: Enhancement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 5.10.5.Final
    • Component/s: JTA
    • Labels:
      None

      Description

      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  mkunwar1 Mayank Kunwar
                  Reporter:
                  sannegrinovero Sanne Grinovero
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: