不要使用 WebLogic TransactionManager 物件

此規則會偵測是否使用 TranasctionManager Java 檔案中的物件。 檢閱 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.TransactionManager javax.transaction.TransactionManager .

也可以偵測物件作為簡稱,例如 Transaction ,如果下列任一個 import 陳述式存在:
import weblogic.transaction.*;

import weblogic.transaction.TransactionManager;

import javax.transaction.*;

import javax.transaction.TransactionManager;