-
Bug
-
Resolution: Done
-
Major
-
9.2.0.Final
-
None
TransactionTable.enlist calls transactionSynchronizationRegistry.registerInterposedSynchronization(sync); but when an async operation is invoked with implicit transaction, the thread-local transaction is suspended. That can result in
java.lang.NullPointerException at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) at org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper.registerInterposedSynchronization(TransactionSynchronizationRegistryWrapper.java:69)
I guess that since TransactionSynchronizationRegistry does not offer a variant that would accept the transaction as parameter we need to wrap the call with resume & suspend.