Nie używaj obiektu TransactionSynchronizationRegistry serwera WebLogic

Ta reguła wykrywa obiekty TransactionSynchronizationRegistry w pliku Java. Zapoznaj się z tematem Obsługa JTA w dokumentacji serwera WebSphere Application Server.

Wykrywane są następujące przypadki:

  1. Deklaracja pola; przykład na poziomie obiektu:
    private TransactionSynchronizationRegistry reg ;

  2. Przykład zmiennej metody:
    private void doX(){  TransactionSynchronizationRegistry reg;
    }

  3. Przykłady użycia literałów łańcuchowych: String s = "java:comp/TransactionSynchronizationRegistry";
    lub String s ="javax/transaction/TransactionSynchronizationRegistry";
    lub String s = "weblogic/transaction/TransactionSynchronizationRegistry";
    lub TransactionManager mgr = ctx.lookup("java:comp/TransactionSynchronizationRegistry")
    lub TransactionManager mgr = ctx.lookup("javax/transaction/TransactionSynchronizationRegistry")
    lub TransactionManager mgr = ctx.lookup("weblogic/transaction/TransactionSynchronizationRegistry")

Obiekt jest wykrywany, jeśli jest używany jako nazwa kwalifikowana (np. javax.transaction.TransactionSynchronizationRegistry).

Obiekt jest także wykrywany, jeśli jest używany jako nazwa prosta (np. TransactionSynchronizationRegistry) i jeśli istnieje jedna z następujących instrukcji import:
import javax.transaction.*;
lub
import javax.transaction.TransactionSynchronizationRegistry;