[jboss-jira] [JBoss JIRA] (WFLY-11446) Bring consistency to use of TransactionSynchronizationRegistry in WildFly
Brian Stansberry (Jira)
issues at jboss.org
Thu Mar 14 20:57:00 EDT 2019
[ https://issues.jboss.org/browse/WFLY-11446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13708656#comment-13708656 ]
Brian Stansberry commented on WFLY-11446:
-----------------------------------------
I think I cleaned these out as part of the fix related to this that we did for 15.0.1. Here's what my IDE shows as the current uses of ContextTransactionSynchronizationRegistry:
{code}
Class
ContextTransactionSynchronizationRegistry
Found usages (21 usages found)
Class static member access (12 usages found)
wildfly-transactions (8 usages found)
org.jboss.as.txn.service.internal.tsr (8 usages found)
JCAOrderedLastSynchronizationList (1 usage found)
registerInterposedSynchronization(Synchronization) (1 usage found)
64 int status = ContextTransactionSynchronizationRegistry.getInstance().getTransactionStatus();
TransactionSynchronizationRegistryWrapper (7 usages found)
registerInterposedSynchronization(Synchronization) (1 usage found)
66 final ContextTransactionSynchronizationRegistry tsr = ContextTransactionSynchronizationRegistry.getInstance();
getTransactionKey() (1 usage found)
84 return ContextTransactionSynchronizationRegistry.getInstance().getTransactionKey();
getTransactionStatus() (1 usage found)
89 return ContextTransactionSynchronizationRegistry.getInstance().getTransactionStatus();
getRollbackOnly() (1 usage found)
94 return ContextTransactionSynchronizationRegistry.getInstance().getRollbackOnly();
setRollbackOnly() (1 usage found)
99 ContextTransactionSynchronizationRegistry.getInstance().setRollbackOnly();
getResource(Object) (1 usage found)
104 return ContextTransactionSynchronizationRegistry.getInstance().getResource(key);
putResource(Object, Object) (1 usage found)
110 ContextTransactionSynchronizationRegistry.getInstance().putResource(key, value);
wildfly-ts-integ-basic (2 usages found)
org.jboss.as.test.integration.ejb.remote.client.api.tx (2 usages found)
EJBClientXidTransactionTestCase (1 usage found)
beforeTestClass() (1 usage found)
134 txSyncRegistry = ContextTransactionSynchronizationRegistry.getInstance();
HTTPEJBClientXidTransactionTestCase (1 usage found)
beforeTestClass() (1 usage found)
148 txSyncRegistry = ContextTransactionSynchronizationRegistry.getInstance();
Maven: org.wildfly.transaction:wildfly-transaction-client:1.1.3.Final (2 usages found)
org.wildfly.transaction.client.naming.txn (2 usages found)
TxnNamingContext (2 usages found)
lookupNative(Name) (1 usage found)
86 return ContextTransactionSynchronizationRegistry.getInstance();
listBindingsNative(Name) (1 usage found)
123 binding(TransactionSynchronizationRegistry.class, ContextTransactionSynchronizationRegistry.getInstance())
Field declaration (1 usage found)
Maven: org.wildfly.transaction:wildfly-transaction-client:1.1.3.Final (1 usage found)
org.wildfly.transaction.client (1 usage found)
ContextTransactionSynchronizationRegistry (1 usage found)
34 private static final ContextTransactionSynchronizationRegistry instance = new ContextTransactionSynchronizationRegistry();
Local variable declaration (1 usage found)
wildfly-transactions (1 usage found)
org.jboss.as.txn.service.internal.tsr (1 usage found)
TransactionSynchronizationRegistryWrapper (1 usage found)
registerInterposedSynchronization(Synchronization) (1 usage found)
66 final ContextTransactionSynchronizationRegistry tsr = ContextTransactionSynchronizationRegistry.getInstance();
Method return type (1 usage found)
Maven: org.wildfly.transaction:wildfly-transaction-client:1.1.3.Final (1 usage found)
org.wildfly.transaction.client (1 usage found)
ContextTransactionSynchronizationRegistry (1 usage found)
getInstance() (1 usage found)
39 public static ContextTransactionSynchronizationRegistry getInstance() {
New instance creation (1 usage found)
Maven: org.wildfly.transaction:wildfly-transaction-client:1.1.3.Final (1 usage found)
org.wildfly.transaction.client (1 usage found)
ContextTransactionSynchronizationRegistry (1 usage found)
34 private static final ContextTransactionSynchronizationRegistry instance = new ContextTransactionSynchronizationRegistry();
Usage in import (5 usages found)
wildfly-transactions (2 usages found)
org.jboss.as.txn.service.internal.tsr (2 usages found)
JCAOrderedLastSynchronizationList (1 usage found)
33 import org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry;
TransactionSynchronizationRegistryWrapper (1 usage found)
30 import org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry;
wildfly-ts-integ-basic (2 usages found)
org.jboss.as.test.integration.ejb.remote.client.api.tx (2 usages found)
EJBClientXidTransactionTestCase (1 usage found)
60 import org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry;
HTTPEJBClientXidTransactionTestCase (1 usage found)
58 import org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry;
Maven: org.wildfly.transaction:wildfly-transaction-client:1.1.3.Final (1 usage found)
org.wildfly.transaction.client.naming.txn (1 usage found)
TxnNamingContext (1 usage found)
37 import org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry;
{code}
So the transactions subsystem's own (valid) use, some testsuite stuff and then client library use.
> Bring consistency to use of TransactionSynchronizationRegistry in WildFly
> -------------------------------------------------------------------------
>
> Key: WFLY-11446
> URL: https://issues.jboss.org/browse/WFLY-11446
> Project: WildFly
> Issue Type: Enhancement
> Components: Transactions
> Affects Versions: 15.0.0.Beta1
> Reporter: Scott Marlow
> Assignee: Tom Jenkinson
> Priority: Major
>
> See [https://github.com/wildfly/wildfly/pull/11784#discussion_r237172364] discussion about JNDI lookup of "java:jboss/TransactionSynchronizationRegistry" returning org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper but other internal code sites (like EJB3, JPA container, JCA container) are directly using the org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry.
> My suggestion is that we consider taking steps to eliminate some of the duplicate classes, so that the same TSR is always used. I think some discussion is needed to get there, but wanted to have this tracking jira.
> Somewhat related is that Hibernate ORM 5.3 now has direct references to org.wildfly.transaction.client.ContextTransactionManager + org.wildfly.transaction.client.LocalUserTransaction. Just mentioning in case its helpful to know for whomever looks at this jira.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
More information about the jboss-jira
mailing list