请勿使用 WebLogic RMI API 调用

此规则会检测是否使用了 Oracle WebLogic RMI API 调用。将 WebLogic RMI API 调用替换为 JavaSoft RMI API 调用。源扫描程序中提供了此规则的快速修订。注意:仅当存在模拟 JavaSoft API 时,才迁移 RMI API 调用。下表显示 JavaSoft RMI 包。

包名
java.rmi
java.rmi.activation
java.rmi.dgc
java.rmi.registry
java.rmi.server

以下示例对要迁移的代码(后跟快速修订的应用程序)进行说明。

运行快速修订之前的代码:

import java.net.MalformedURLException;
import weblogic.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.Remote;;
import java.rmi.RemoteException;

...

void main( String[] args ) {
Remote remote = Naming.lookup("NameLookup");
Remote remote2 = weblogic.rmi.Naming.lookup("NameLookup");

CallRouter callRouter = new weblogic.rmi.cluster.CallRouter();
weblogic.rmi.cluster.CallRouter callRouter2 = new weblogic.rmi.cluster.CallRouter();

}
运行快速修订之后的代码:

import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.Remote;
import java.rmi.RemoteException;

...

void main( String[] args ) {
Remote remote = Naming.lookup("NameLookup");
Remote remote2 = java.rmi.Naming.lookup("NameLookup");

CallRouter callRouter = new weblogic.rmi.cluster.CallRouter();
weblogic.rmi.cluster.CallRouter callRouter2 = new weblogic.rmi.cluster.CallRouter();

}