不要使用 WebLogic TransactionManager 物件

此規則會偵測是否在 Java 檔中使用 TranasctionManager 物件。 檢閱 WebSphere Application Server 說明文件中的 JTA 支援主題。

會偵測到下列情況:

  1. 欄位宣告(物件層次)
    範例:private TransactionManager tmgr ;

  2. 方法變數範例:
    private void doX(){
        TransactionManager tmgr;
    }

  3. 強制轉型表示式範例:
    TransactionManager t = (TransactionManager) someOtherObject;

  4. 字串文字用法範例:
    String s = "weblogic.transaction.TransactionManager";
    String s = "weblogic.transaction.TransactionManager";
    TransactionManager mgr = ctx.lookup("weblogic.transaction.TransactionManager")
    TransactionManager mgr = ctx.lookup("javax.transaction.TransactionManager")

  5. 方法呼叫範例:
    TransactionManager t = TransactionHelper.getTransactionManager();
    TransactionManager t = TxHelper.getTransactionManager();

如果將物件用作完整名稱(例如,weblogic.transaction.TransactionManagerjavax.transaction.TransactionManager),則可以偵測到該物件。

如果存在下列任一 import 陳述式,則將物件用作簡稱(例如,Transaction)時,也會偵測到該物件:
import weblogic.transaction.*;

import weblogic.transaction.TransactionManager;

import javax.transaction.*;

import javax.transaction.TransactionManager;