WebLogic Server Java 代码复审规则
在“Java 代码复审”规则集下面,WebLogic 至 WebSphere 代码迁移类别包含多个规则。 要了解如何获取有关规则的更多信息,请参阅 显示详细帮助。
规则名称 | 规则描述 | 自动修复 |
---|---|---|
请勿使用 BEA Beehive @common 注释 | 此规则检测已迁移 BEA Beehive 文件中发现的 |
False |
请勿使用 BEA Beehive @jpf:action 注释 | 此规则检测和迁移已迁移 BEA Beehive 文件中发现的 |
False |
请勿使用 BEA Beehive @jpf:controller 注释 | 此规则检测和迁移已迁移 BEA Beehive 文件中发现的 |
False |
请勿使用 BEA Beehive @jpf:exception-handler 注释 | 此规则检测和迁移已迁移 BEA Beehive 文件中发现的 |
False |
请勿使用 BEA NetUI 软件包 | 此规则检测和迁移 BEA |
False |
检测 Apache Beehive 包 | 此规则会检测是否使用了 Apache Beehive 包,该包以 |
False |
请勿将 EJB 类放在缺省 Java 包中 | 此规则会检测用来定义 EJB(位于缺省 Java 包中)的 Java 类。 WebSphere Application Server 不允许 EJB 存在于缺省 Java 包中。 | False |
请勿使用 Apache XMLBeans 包 | 此规则会检测对 Apache XMLBeans 包 |
False |
请勿使用 Commons Logging 系统级别属性 | 此规则会检测通过使用系统属性对 commons logging 实现类进行的设置。 快速修订会移除该条目。 |
False |
请勿使用 JNDI 名称查询来引用运行时 MBean Server | 此规则会检测字符串字面值“java:comp/env/jmx/runtime”,WebLogic Server 将该字符串字面值提供为运行时 MBean Server 的 JNDI 名称。 此查询在 WebSphere Application Server 上不起作用。 |
False |
请勿使用非映射 weblogic.apache 包 | 此规则会检测以下情况下对类的导入和代码引用:类包以 必须将代码修改为使用不同类。 请参阅规则帮助,以获取更多信息。 |
False |
请勿将 EntityManager 或 EntityManagerFactory 的子类用于所注入 JPA 元素 | 此规则会检测所注入 JPA PersistenceContext 或 PeristenceUnit(在这种情况下,可注入类型为 EntityManager 或 EntityManagerFactory 的子类)。 快速修订会将类更改为使用标准 JPA 对象。 |
False |
请勿使用 WebLogic ApplicationLifecycleListener 接口 | 此规则会检测用于实现 WebLogic weblogic.application.ApplicationLifecycleListener 接口的类。 建议的迁移替代方法是使用 javax.servlet.ServletContextListener 接口。 |
False |
请勿将 WebLogic 域用于 JMX 对象名 | 此规则会在 Java 代码中检测以“com.bea”开头的字符串字面值。 该字符串用于引用 WebLogic Server JMX 域并且不能以此方式用于 WebSphere Application Server 中。 |
False |
请勿使用 WebLogic MessageProducer API | 此规则会检测是否使用了 weblogic.jms.extensions.WLMessageProducer API。 |
False |
请勿使用 WebLogic ServletAuthentication invalidateAll 方法 | 此规则会检测是否使用了 weblogic.servlet.security.ServletAuthentication invalidateAll 方法。 |
False |
请勿使用 WebLogic TransactionHelper getUserTransaction 方法 | 此规则会检测是否使用了 weblogic.transaction.TransactionHelper getUserTransaction 方法。 |
False |
请勿使用来自 CMT Bean 的 UserTransaction 接口 | 此规则会检测对容器管理的事务企业 bean 内 会对这些引用进行标记,以便可移除此 Java EE 违例。 |
False |
请勿使用 weblogic.apache 包 | 此规则会检测以下情况下对类的导入和代码引用:类包以 快速修订会将代码更改为 |
False |
请勿使用 WebLogic EJBGEN 注释 | 此规则会检测 weblogic.ejbgen 包中的 EJBGEN 注释。 在将应用程序部署到 WebSphere Application Server 上之前,必须从应用程序中移除这些注释。 |
False |
请勿使用 WebLogic log4j 记录对象 | 此规则会检测专有 WebLogic Server log4j 类并将它们标记为要手动迁移。 |
False |
请勿使用 WebLogic LoggingHelper 对象来获取记录器实例 | 此规则会检测 LoggingHelper 对象的使用。 快速修订会将类实例转换为 Java Logger。 |
False |
请勿使用 WebLogic 记录对象 | 此规则会检测 WebLogic Server 记录对象。 快速修订会将代码更改为使用 Java 对象。 |
False |
请勿使用 WebLogic NonCatalogLogger 对象 | 此规则会检测 NonCatalogLogger 的使用。 快速修订会将这些对象转换为 Java Logger 对象。 此外,它会将所有记录方法调用转换为有效的记录调用。 级别由使用规则属性的用户控制。 |
False |
请勿使用 WebLogic RMI API 调用 | 此规则会检测对专有 weblogic.rmi 包的引用的使用。 快速修订会将 weblogic.rmi 更改为 java.rmi 以使用由 Java 提供的类。 |
False |
请勿使用 WebLogic RollbackException 对象 | 此规则会检测是否使用了 weblogic.transaction.RollbackException 对象并对它进行标记以便手动迁移。 |
False |
请勿将 WebLogic servlet 属性用于 XML 解析 | 此规则会检测用于解析 XML 的 setAttribute 和 getAttribute 方法(与特定属性配合使用)的使用。 快速修订会移除这些条目。 |
False |
请勿使用 WebLogic ServletAuthentication 类 | 此规则会检测不能在 WebSphere 中使用的类 weblogic.servlet.security.ServletAuthentication。 |
False |
请勿使用特定于 WebLogic 的 JDBC 属性或扩展 | 此规则会检测是否使用了必须手动迁移的若干 WebLogic Server JDBC 属性和扩展。 |
False |
请勿将特定于 WebLogic 的 JNDI 环境属性用于初始上下文 | 此规则会检测用于设置上下文属性的 weblogic.jndi.Environment 类的使用。 快速修订会迁移在对用来初始化 InitialContext 对象的散列表的 Environment 引用中使用的对象。 |
False |
请勿使用特定于 WebLogic 的 JNDI 属性值或 t3 协议 | 此规则会检测下列专有 JNDI 名称值的使用:
如果找到这些 JNDI 名称值,那么用户可选择将它们更改为缺省可移植 JNDI 名称值:
限制: JNDI 名称值必须位于使用 javax.naming. InitialContext(Hashtable) 构造函数初始化上下文的同一 Java 源文件中。
|
False |
请勿使用特定于 WebLogic 的包 | 此规则会检测以 weblogic 开头的所导入类(但不包括 weblogic.apache 类)。 必须迁移特定于服务器的所标记 API。 |
False |
请勿使用特定于 WebLogic 的 SSL 协议 | 此规则会检测 Java 文件中字符串字面值“com.certicom.net.ssl”和“weblogic.net”的实例。 | False |
请勿使用 WebLogic 启动或关闭类 | 此规则会检测用于实现 WebLogic Server 启动和关闭接口的类。 快速修订会对这些类进行转换,以使用 javax.servlet.ServletContextListener 接口,并且会在应用程序的 web.xml 文件中注册该接口。 |
False |
请勿使用 WebLogic StAX 对象 | 此规则会检测是否使用了必须手动迁移的 WebLogic Server 专有 XML 流 (StAX) 对象。 |
False |
请勿使用 WebLogic TransactionManager 对象 | 此规则会检测是否使用了 TransactionManager 对象并对它进行标记以便手动迁移。 |
False |
请勿使用 WebLogic Transaction 对象 | 此规则会检测是否使用了 Transaction 对象并对它进行标记以便手动迁移。 |
False |
请勿使用 WebLogic TransactionSynchronizationRegistry 对象 | 此规则会检测是否使用了 TransactionSynchronizationRegistry 对象并对它进行标记以便手动迁移。 |
False |
请勿使用 WebLogic WLLevel 对象 | 此规则会检测 setLevel() 方法中 快速修订会将 |
False |
请勿使用 WebLogic XPath 对象 | 此规则会检测 WebLogic Server 专有 XML XPath 对象的使用并将它们标记为要手动迁移。 |
False |
迁移特定于其他应用程序服务器的 MBean | 此规则会检测对 javax.management.ObjectName 构造函数的所有调用,该构造函数可能特定于应用程序服务器并且需要进行迁移以便应用程序能够在 WebSphere Application Server 上运行。 |
False |
使用符合要求的 UserTransaction 查找名称 | 此规则会检测对 在 bean 管理的事务 (BMT) bean 内,快速修订会将所标记行转换为 在 servlet、Web 应用程序和客户机代码内,会将所标记行转换为 JNDI 查询: |
False |
在 EJB Bean 类中使用匹配的 throws 子句 | 此规则会检测 home 接口和远程接口中的企业 bean 实现与方法定义之间的不匹配之处。 快速修订会添加任何缺少的异常并移除任何其他异常。 不会对这些接口进行更改。 |
False |
使用可移植的 JNDI 名称 | 此规则会检测是否使用了构造函数 javax.naming.InitialContext(Hashtable)(指定不要将任何专有 WebLogic Server JNDI 名称值置于散列表中)。 | False |
将 unitName 属性用于所注入 JPA 元素 | 此规则会检测注入的没有 快速修订会添加这些缺少的值,以提供 WebLogic Server 自动部署的类似行为。 |
False |
验证使用 getRealPath("") 进行并置的结果 | 在 WebSphere Traditional 中,getRealPath("") 将返回一个以后置斜杠结尾的字符串。 检查使用此方法的并置是否未添加额外斜杠。 | False |
验证使用 getRealPath("*/") 进行并置的结果 | 在 Liberty 和 WebSphere Traditional 中,getRealPath("*/") 将返回一个以后置斜杠结尾的字符串。 检查使用此方法的并置是否未添加额外斜杠。 | False |
WebSphere 中不支持 WebLogic 包和类 | 此规则会检测是否在 Java 代码和属性文件中使用了 WebLogic 字符串字面值。 将标记包含“weblogic”的所有字符串字面值。 请改用 Java EE 或 WebSphere Application Server 提供的包、类和属性。 |
False |
WebLogic 将 Kodo 用于其 JPA 1.0 提供程序实现。 同样,OpenJPA 是针对 JPA 1.0 和 2.0 的 WebSphere 缺省 JPA 提供程序。 以下规则处理到 JPA 2.0 或更早版本的 WebLogic Server 迁移:
规则名称 | 规则描述 | 自动修复 |
---|---|---|
请勿使用没有任何 OpenJPA 等效项的 Kodo API | 此规则会检测不具有等价 openJPA 导入的特定 kodo import 语句的使用。 会对这些引用进行标记,以便可对其使用进行评估并手动进行迁移。 |
False |
请勿使用没有任何 openJPA 等效项的 Kodo 属性 | 此规则会检测 Java 文件中以 kodo.* 开头但没有任何等价 openJPA 值的 JPA 属性。 |
False |
使用 OpenJPA 等效 API 而不是 Kodo API | 此规则会检测具有 OpenJPA 等效项的 WebLogic Server 的 kodo import 语句。 快速修订会将它们替换为 openJPA 等价 import 语句。 |
False |
使用 OpenJPA 等效属性名称而不是特定于 Kodo 的属性名称 | 此规则会检测是否存在名称以 kodo.* 开头的已知 JPA 属性。 在 Java 文件中。 快速修订会将这些属性重命名为 openjpa.*。 |
False |
使用 OpenJPA 属性值而不是特定于 Kodo 的属性值 | 此规则会检测 Java 文件中具有特定于 kodo 的值的 JPA 属性。 快速修订会将这些值更改为有效的 openJPA 值。 |
False |
从 JPA 2.1 开始,WebSphere 切换至 EclipseLink 作为其缺省 JPA 提供程序。 以下规则处理到 JPA 2.1 或更高版本的 WebLogic Server 迁移:
规则名称 | 规则描述 | 自动修复 |
---|---|---|
请勿使用 Kodo API 调用 | 此规则检测需要迁移到 EclipseLink 的 Kodo API。 会对这些引用进行标记,以便可对其使用进行评估并手动进行迁移。 |
False |
请勿使用 Kodo 属性 | 此规则检测需要迁移到 EclipseLink 的 Kodo 属性。 |
False |