请勿使用 WebLogic TransactionSynchronizationRegistry 对象

此规则会检测是否在 Java 文件中使用了 TransactionSynchronizationRegistry 对象。 查看 WebSphere Application Server 文档中的 JTA 支持主题。

会检测到下列情况:

  1. 字段声明(对象级别)示例:
    private TransactionSynchronizationRegistry reg ;

  2. 方法变量示例:
    private void doX(){  TransactionSynchronizationRegistry reg;
    }

  3. 字符串字面值使用示例: String s = "java:comp/TransactionSynchronizationRegistry";
    或 String s = "javax/transaction/TransactionSynchronizationRegistry";
    或 String s = "weblogic/transaction/TransactionSynchronizationRegistry";
    或 TransactionManager mgr = ctx.lookup("java:comp/TransactionSynchronizationRegistry")
    或 TransactionManager mgr = ctx.lookup("javax/transaction/TransactionSynchronizationRegistry")
    或 TransactionManager mgr = ctx.lookup("weblogic/transaction/TransactionSynchronizationRegistry")

如果对象用作限定名(例如 javax.transaction.TransactionSynchronizationRegistry),那么可检测到该对象。

如果下列任何 import 语句存在,那么用作简单名称(例如 TransactionSynchronizationRegistry)的对象也可被检测到:
import javax.transaction.*;

import javax.transaction.TransactionSynchronizationRegistry;