Nu utilizaţi obiectul WebLogic TransactionSynchronizationRegistry

Această regulă detectează utilizarea obiectelor TransactionSynchronizationRegistry într-un fişier Java. Examinați subiectul Suportul JTA din documentația WebSphere Application Server.

Următoarele cazuri sunt detectate:

  1. Declaraţie de câmp, exemplu la nivel de obiect:
    private TransactionSynchronizationRegistry reg ;

  2. Exemplu de variabilă de metodă:
    private void doX(){  TransactionSynchronizationRegistry reg;
    }

  3. Exemple de utilizare literal String: String s = "java:comp/TransactionSynchronizationRegistry";
    sau String s = "javax/transaction/TransactionSynchronizationRegistry";
    sau String s = "weblogic/transaction/TransactionSynchronizationRegistry";
    sau TransactionManager mgr = ctx.lookup("java:comp/TransactionSynchronizationRegistry")
    sau TransactionManager mgr = ctx.lookup("javax/transaction/TransactionSynchronizationRegistry")
    sau TransactionManager mgr = ctx.lookup("weblogic/transaction/TransactionSynchronizationRegistry")

Obiectul poate fi detectat dacă este folosit ca un nume calificat, cum ar fi javax.transaction.TransactionSynchronizationRegistry.

Obiectul poate fi de asemenea detectat dacă este folosit ca un nume simplu, cum ar fi TransactionSynchronizationRegistry, dacă există oricare dintre următoarele două instrucţiuni de import:
import javax.transaction.*;
sau
import javax.transaction.TransactionSynchronizationRegistry;