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

Resteasy providers are absent when a thread from the ForkJoinPool is used to cancel the LRA

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 5.11.0.Final
    • 5.9.8.Final
    • LRA
    • None

      When an LRA is cancelled from a timer the cancellation is performed by a thread from the ForkJoinPool. None of the Resteasy JAX-RS providers are available on this thread. Outgoing JAX-RS calls made from this thread will then fail.

      Since the LRA coordinator only uses REST calls it would be better to use something like java.net.HttpURLConnection or wait for java.net.http.HttpClient which is in JDK 11.

      But as an interim fix I would suggest that the timeout handler sets the status to Cancelling and then when the LRA is later closed we check whether the timer triggered and cancel the LRA.

            mstefank Martin Stefanko
            rhn-engineering-mmusgrov Michael Musgrove
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: