Kompatiblen UserTransaction-Suchnamen verwenden

Diese Regel markiert Code, der das Objekt UserTransaction mit javax.transaction.UserTransaction oder weblogic.transaction.UserTransaction als Suchzeichenfolge abruft.

BMT-Beans (Bean-managed Transactions, Bean-gesteuerte Transaktion) müssen das Objekt UserTransaction mit der EJBContext-Methode getUserTransaction abrufen. Andere Anwendungskomponenten wie Servlets und Webkomponenten rufen die Referenz über JNDI-Lookup mit dem Namen ab: java:comp/UserTransaction.

Die folgenden Typen von Lookups werden markiert.

Lookup des WebLogic-Objekts UserTransaction
UserTransaction xact = ctx.lookup("javax.transaction.UserTransaction");
oder
UserTransaction xact = ctx.lookup("weblogic.transaction.UserTransaction");

Für BMT wird die Codezeile so geändert, dass die Methode getUserTransaction verwendet wird.

Bean-gesteuerter Lookup

UserTransaction xact = ctx.getUserTransaction();

Für Code, der kein Enterprise-Bean-Code ist, wie z. B. Code für Anwendungsclients, Webkomponenten und Servlets, ändert die Schnellkorrektur im Quellenscanner den Code so, dass ein JNDI-Lookup mit dem Namen verwendet wird: java:comp/UserTransaction. Das Ergebnis gleicht dem folgenden Beispiel:

Lookup des WebSphere-Objekts UserTransaction

UserTransaction xact = ctx.lookup("java:comp/UserTransaction");