Regeln für die Überprüfung des Java-Codes von WebLogic Server

Unter dem Regelsatz für die Überprüfung des Java-Codes enthält die Kategorie für die Migration des WebLogic-Codes auf den WebSphere-Code mehrere Regeln. Weitere Informationen zum Abrufen von Informationen zu einer Regel finden Sie unter Ausführliche Hilfe anzeigen.

Regelname Regelbeschreibung Automatisierte Korrektur
Keine BEA-Beehive-Annotationen @common verwenden

Diese Regel erkennt Javadoc-Tags @common in den migrierten BEA Beehive-Dateien.

Nein
Keine BEA-Beehive-Annotationen @jpf:action verwenden

Diese Regel erkennt und migriert Javadoc-Tags @jpf:action in den migrierten BEA Beehive-Dateien.

Nein
Keine BEA-Beehive-Annotationen @jpf:controller verwenden

Diese Regel erkennt und migriert Javadoc-Tags @jpf:controller in den migrierten BEA Beehive-Dateien.

Nein
Keine BEA-Beehive-Annotationen @jpf:exception-handler verwenden

Diese Regel erkennt und migriert Javadoc-Tags @jpf:exception-handler in den migrierten BEA Beehive-Dateien.

Nein
Keine BEA-NetUI-Pakete verwenden

Diese Regel erkennt und migriert BEA-Pakete com.bea.wlw.netui.

Nein
Apache Beehive-Pakete erkennen

Diese Regel erkennt die Verwendung von Apache-Beehive-Paketen, die mit org.apache.beehive beginnen.

Nein
EJB-Klassen nicht in Java-Standardpakete einfügen Diese Regel erkennt Java-Klassen, die in Java-Standardpaketen enthaltene EJBs definieren. WebSphere Application Server lässt keine EJBs in Java-Standardpaketen zu. Nein
Keine Apache-XMLBeans-Pakete verwenden

Diese Regel erkennt Referenzen auf das Apache-XMLBeans-Paket org.apache.xmlbeans.

Nein
Keine Commons-Logging-Eigenschaft der Systemebene verwenden

Diese Regel erkennt, ob die Commons-Logging-Implementierungsklasse mit einer Systemeigenschaft definiert wurde.

Die Schnellkorrektur entfernt den Eintrag.

Nein
JNDI-Namenssuche verwenden, um auf den MBean-Server der Laufzeitumgebung zu verweisen

Diese Regel erkennt das Zeichenfolgeliteral "java:comp/env/jmx/runtime", das WebLogic Server als JNDI-Namen für den Laufzeit-MBean-Server bereitstellt. Diese Suche funktioniert in WebSphere Application Server nicht.

Nein
Keine nicht zugeordneten weblogic.apache-Pakete verwenden

Diese Regel erkennt Import- und Codereferenzen auf Klassen, in denen das Klassenpaket mit weblogic.apache beginnt und die Klasse keiner Open-Source-Apache-Klasse zugeordnet ist.

Sie müssen den Code so ändern, dass er andere Klassen verwendet. Weitere Informationen finden Sie in der Hilfe für Regeln.

Nein
Keine Unterklasse von EntityManager oder EntityManagerFactory für injizierte JPA-Elemente verwenden

Diese Regel erkennt injizierte JPA-Elemente mit dem Namen PersistenceContext oder PeristenceUnit. Der injizierbare Typ ist eine Unterklasse von EntityManager oder EntityManagerFactory.

Die Schnellkorrektur ändert die Klasse so, dass das Standard-JPA-Objekt verwendet wird.

Nein
WebLogic-Schnittstelle ApplicationLifecycleListener nicht verwenden

Diese Regel erkennt Klassen, die die WebLogic-Schnittstelle weblogic.application.ApplicationLifecycleListener implementieren. Als Alternative zur Migration wird die Verwendung der Schnittstelle javax.servlet.ServletContextListener empfohlen.

Nein
WebLogic-Domäne nicht für JMX-Objektnamen verwenden

Diese Regel erkennt ein Zeichenfolgeliteral, das mit "com.bea" beginnt, im Java-Code. Diese Zeichenfolge kann für die Referenzierung der JMX-Domäne von WebLogic Server verwendet werden, jedoch nicht in WebSphere Application Server.

Nein
WebLogic-MessageProducer-API nicht verwenden

Diese Regel erkennt die Verwendung der API weblogic.jms.extensions.WLMessageProducer.

Nein
WebLogic-Methode ServletAuthentication invalidateAll nicht verwenden

Diese Regel erkennt die Verwendung der Methode weblogic.servlet.security.ServletAuthentication invalidateAll.

Nein
WebLogic-Methode TransactionHelper getUserTransaction nicht verwenden

Diese Regel erkennt die Verwendung der Methode weblogic.transaction.TransactionHelper getUserTransaction.

Nein
Keine UserTransaction-Schnittstelle aus CMT-Beans verwenden

Diese Regel erkennt Referenzen auf ctx.lookup('javax.transaction. UserTransaction') in CMT-Enterprise Beans (Container-Managed Transaction, containergesteuerte Transaktion). Referenzen auf das Objekt UserTransaction sind in CMT-Beans nicht zulässig.

Diese Referenzen werden markiert, damit Sie diesen Java EE-Verstoß beheben können.

Nein
Keine weblogic.apache-Pakete verwenden

Diese Regel erkennt Import- und Codereferenzen auf Klassen, in denen das Klassenpaket mit weblogic.apache beginnt und die Klasse einer org.apache-Klasse direkt zugeordnet ist.

Die Schnellkorrektur ändert den Code in org.apache. Laden Sie die entsprechende Apache-Open-Source-Datei .jar herunter und schließen Sie sie in Ihrer Anwendung ein.

Nein
Keine WebLogic-EJBGEN-Annotationen verwenden

Diese Regel erkennt EJBGEN-Annotationen aus dem Paket weblogic.ejbgen. Sie müssen diese Annotationen aus Ihrer Anwendung entfernen, bevor die Anwendung in WebSphere Application Server implementiert wird.

Nein
Keine WebLogic-log4j-Protokollierungsobjekte verwenden

Diese Regel erkennt die proprietären log4j-Klassen von WebLogic Server und markiert sie für manuelle Migration.

Nein
Kein WebLogic-LoggingHelper-Objekt für den Abruf einer Logger-Instanz verwenden

Diese Regel erkennt die Verwendung des Objekts LoggingHelper.

Die Schnellkorrektur konvertiert die Klasseninstanz in das Objekt Logger.

Nein
Keine WebLogic-Protokollierungsobjekte verwenden

Diese Regel erkennt Protokollierungsobjekte von WebLogic Server.

Die Schnellkorrektur ändert den Code so, dass die Java-Objekte verwendet werden.

Nein
Kein WebLogic-NonCatalogLogger-Objekt verwenden

Diese Regel erkennt die Verwendung des Objekts NonCatalogLogger.

Die Schnellkorrektur konvertiert diese Objekte in das Java-Objekt Logger. Außerdem konvertiert sie alle Protokollierungsmethodenaufrufe in gültige Protokollierungsaufrufe. Die Stufe wird vom Benutzer mit Regeleigenschaften gesteuert.

Nein
Keine WebLogic-RMI-API-Aufrufe verwenden

Diese Regel erkennt die Verwendung von Referenzen in proprietären WebLogic-Paketen mit dem Namen "weblogic.rmi".

Die Schnellkorrektur ändert weblogic.rmi in java.rmi, um die von Java bereitgestellten Klassen zu verwenden.

Nein
Kein WebLogic-RollbackException-Objekt verwenden

Diese Regel erkennt die Verwendung des weblogic.transaction.RollbackException-Objekts und markiert es für die manuelle Migration.

Nein
Keine WebLogic-Servletattribute für XML-Parsing verwenden

Diese Regel erkennt, wenn die Methoden setAttribute und getAttribute mit bestimmten Attributen für die syntaktische Analyse von XML verwendet werden.

Die Schnellkorrektur entfernt die Einträge.

Nein
WebLogic-Klasse ServletAuthentication nicht verwenden

Diese Regel erkennt die Klasse weblogic.servlet.security.ServletAuthentication, die in WebSphere nicht verwendet werden kann.

Nein
Keine WebLogic-spezifischen JDBC-Eigenschaften oder -Erweiterungen verwenden

Diese Regel erkennt die Verwendung verschiedener JDBC-Eigenschaften und -Erweiterungen von WebLogic Server, die manuell migriert werden müssen.

Nein
Keine WebLogic-spezifischen JNDI-Umgebungseigenschaften für Anfangskontext verwenden

Diese Regel erkennt die Verwendung der Klasse weblogic.jndi.Environment zum Definieren von Kontexteigenschaften.

Die Schnellkorrektur migriert die Objekte in den Environment-Referenzen in eine Hash-Tabelle, die zum Initialisieren des InitialContext-Objekts verwendet wird.

Nein
WebLogic-spezifische JNDI-Eigenschaftswerte oder Protokoll T3 nicht verwenden

Die Regel erkennt die Verwendung der folgenden proprietären JNDI-Namenswerte:

  • java.naming.factory.initial = weblogic.jndi. WLInitialContextFactory
  • java.naming.provider.url = t3://localhost:7001

Wenn Werte gefunden werden, haben Benutzer die Möglichkeit, die JNDI-Namen in portierbare Standard-JNDI-Namenswerte zu ändern:

  • java.naming.factory.initial = com.ibm.websphere.naming. WsnInitialContextFactory
  • java.naming.provider.url = corbaloc:iiop:localhost:2809
Einschränkung: Die JNDI-Namenswerte müssen sich in derselben Java-Quellendatei befinden, in der der Kontext mit dem Konstruktor javax.naming. InitialContext(Hashtable) initialisiert wird.
Nein
Keine WebLogic-spezifischen Pakete verwenden Diese Regel erkennt importierte Klassen, die mit weblogic beginnen. Klassen des Typs weblogic.apache werden nicht markiert. Die markierten serverspezifischen APIs müssen migriert werden. Nein
Keine WebLogic-spezifischen SSL-Protokolle verwenden Dieses Regel erkennt Instanzen des Zeichenfolgeliterals "com.certicom.net.ssl" und "weblogic.net" in Java-Dateien. Nein
Keine WebLogic-Start- und -Beendigungsklassen verwenden

Diese Regel erkennt Klassen, die die Schnittstellen für Systemstart und Systemabschluss von WebLogic Server implementieren.

Die Schnellkorrektur konvertiert diese Klassen so, dass die Schnittstelle javax.servlet.ServletContextListener verwendet wird, und registriert die Schnittstelle in der Datei web.xml der Anwendung.

Nein
Keine WebLogic-StAX-Objekte verwenden

Diese Regel erkennt die Verwendung proprietärer StAX-Objekte von WebLogic Server, die manuell migriert werden müssen.

Nein
Kein WebLogic-TransactionManager-Objekt verwenden

Diese Regel erkennt die Verwendung des TransactionManager-Objekts und markiert es für die manuelle Migration.

Nein
Kein WebLogic-Transaction-Objekt verwenden

Diese Regel erkennt die Verwendung des Transaction-Objekts und markiert es für die manuelle Migration.

Nein
Kein WebLogic-TransactionSynchronizationRegistry-Objekt verwenden

Diese Regel erkennt die Verwendung des TransactionSynchronizationRegistry-Objekts und markiert es für die manuelle Migration.

Nein
Kein WebLogic-WLLevel-Objekt verwenden

Diese Regel erkennt die Verwendung des WLLevel-Objekts in einer Methode setLevel().

Die Schnellkorrektur konvertiert die Methode WLLevel in die IBM Methode WsLevel. Die Stufe wird vom Benutzer mit Regeleigenschaften gesteuert.

Nein
Keine WebLogic-XPath-Objekte verwenden

Diese Regel erkennt die Verwendung proprietärer XML-XPath-Objekte von WebLogic Server und markiert sie für manuelle Migration.

Nein
Für andere Anwendungsserver spezifische MBeans migrieren

Diese Regel erkennt jeden Aufruf des Konstruktors javax.management.ObjectName, der für den Anwendungsserver spezifisch sein kann und migriert werden muss, damit die Anwendung in WebSphere Application Server ausgeführt werden kann.

Nein
Kompatiblen UserTransaction-Suchnamen verwenden

Diese Regel erkennt Referenzen auf ctx.lookup("javax.transaction. UserTransaction").

In BMT-Beans (Bean Managed Transaction, Bean-gesteuerte Transaktion) konvertiert die Schnellkorrektur die markierte Zeile in ctx.getUserTransaction().

In Servlets, Webanwendungen und Clientcode wird die markierte Zeile in die JNDI-Suche konvertiert: ctx.lookup("java:comp/UserTransaction").

Nein
Übereinstimmende throws-Klausel in EJB-Bean-Klasse verwenden

Diese Regel erkennt Diskrepanzen zwischen der Enterprise-Bean-Implementierung und den Methodendefinitionen in den Home- und Remote-Schnittstellen.

Die Schnellkorrektur fügt fehlende Ausnahmen hinzu und entfernt alle weiteren Ausnahmen. Die Schnittstellen werden nicht geändert.

Nein
Portierbare JNDI-Namen verwenden Diese Regel erkennt die Verwendung des Konstruktors javax.naming.InitialContext(Hashtable) und bestimmt, dass keine proprietären JNDI-Namenswerte von WebLogic Server in die Hash-Tabelle gestellt werden sollen. Nein
Attribut unitName für injizierte JPA-Elemente verwenden

Diese Regel erkennt injizierte JPA-Elemente mit dem Namen PersistenceContext oder PersistenceUnit ohne unitName- oder name-Attribute.

Die Schnellkorrektur fügt die fehlenden Werte hinzu, um ähnliches Verhalten für die automatisierte WebLogic-Server-Implementierung bereitzustellen.

Nein
Ergebnis der Verkettung mit getRealPath("") validieren In WebSphere Traditional gibt getRealPath("") eine Zeichenfolge zurück, die mit einem abschließenden Schrägstrich endet. Mit dieser Regel wird geprüft, ob bei einer Verkettung mit dieser Methode kein abschließender Schrägstrich hinzugefügt wird. Nein
Ergebnis der Verkettung mit getRealPath("*/") validieren In Liberty und WebSphere Traditional gibt getRealPath("*/") eine Zeichenfolge zurück, die mit einem abschließenden Schrägstrich endet. Mit dieser Regel wird geprüft, ob bei einer Verkettung mit dieser Methode kein abschließender Schrägstrich hinzugefügt wird. Nein
WebLogic-Pakete und -Klassen werden in WebSphere nicht unterstützt

Diese Regel erkennt die Verwendung von WebLogic-Zeichenfolgeliteralen in Java-Code-und Eigenschaftendateien. Alle Zeichenfolgeliterale, die "weblogic" enthalten, werden markiert. Verwenden Sie stattdessen Pakete, Klassen und Eigenschaften, die von Java EE oder WebSphere Application Server bereitgestellt werden.

Nein

WebLogic verwendet Kodo für seine JPA 1.0-Providerimplementierung. OpenJPA ist der Standard-JPA-Provider für WebSphere in JPA 1.0 und 2.0. Für die Migration von WebLogic Server auf JPA 2.0 oder früher gibt es die folgenden Regeln:

Regelname Regelbeschreibung Automatisierte Korrektur
Keine Kodo-APIs ohne OpenJPA-Entsprechung verwenden

Diese Regel erkennt die Verwendung bestimmter Kodo-Importanweisungen, für die es keine äquivalenten openJPA-Importe gibt.

Diese Referenzen werden markiert, damit Sie ihre Verwendung bewerten und die Migration manuell durchführen können.

Nein
Keine Kodo-Eigenschaften ohne OpenJPA-Entsprechung verwenden

Diese Regel erkennt JPA-Eigenschaften in Java-Dateien, die mit kodo.* beginnen, jedoch keine äquivalenten openJPA-Werte haben.

Nein
Äquivalente OpenJPA-APIs anstelle der Kodo-APIs verwenden

Diese Regel erkennt Kodo-Importanweisungen von WebLogic Server, die eine OpenJPA-Entsprechung haben.

Die Schnellkorrektur ersetzt diese Anweisungen durch äquivalente Importanweisungen für OpenJPA.

Nein
Äquivalente OpenJPA-Eigenschaftsnamen anstelle der Kodo-spezifischen Eigenschaftsnamen verwenden

Diese Regel erkennt das Vorhandensein bekannter JPA-Eigenschaften, deren Name mit kodo.* beginnt. in Java-Dateien.

Die Schnellkorrektur benennt diese Eigenschaften in "openjpa.*" um.

Nein
OpenJPA-Eigenschaftswerte anstelle Kodo-spezifischer Eigenschaftswerte verwenden

Diese Regel erkennt die JPA-Eigenschaften mit Kodo-spezifischen Werten in Java-Dateien.

Die Schnellkorrektur ändert diese Werte in gültige openJPA-Werte.

Nein

In JPA 2.1 hat WebSphere eine Umstellung auf EclipseLink als Standard-JPA-Provider vorgenommen. Für die Migration von WebLogic Server auf JPA 2.1 oder höher gibt es die folgenden Regeln:

Regelname Regelbeschreibung Automatisierte Korrektur
Keine Kodo-API-Aufrufe verwenden

Diese Regel erkennt Kodo-APIs, die auf EclipseLink migriert werden müssen.

Diese Referenzen werden markiert, damit Sie ihre Verwendung bewerten und die Migration manuell durchführen können.

Nein
Keine Kodo-Eigenschaften verwenden

Diese Regel erkennt Kodo-Eigenschaften, die auf EclipseLink migriert werden müssen.

Nein