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 |
Nein |
| Keine BEA-Beehive-Annotationen @jpf:action verwenden | Diese Regel erkennt und migriert Javadoc-Tags |
Nein |
| Keine BEA-Beehive-Annotationen @jpf:controller verwenden | Diese Regel erkennt und migriert Javadoc-Tags |
Nein |
| Keine BEA-Beehive-Annotationen @jpf:exception-handler verwenden | Diese Regel erkennt und migriert Javadoc-Tags |
Nein |
| Keine BEA-NetUI-Pakete verwenden | Diese Regel erkennt und migriert BEA-Pakete |
Nein |
| Apache Beehive-Pakete erkennen | Diese Regel erkennt die Verwendung von Apache-Beehive-Paketen, die mit |
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 |
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 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 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 Die Schnellkorrektur ändert den Code in |
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:
Wenn Werte gefunden werden, haben Benutzer die Möglichkeit, die JNDI-Namen in portierbare Standard-JNDI-Namenswerte zu ändern:
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 Die Schnellkorrektur konvertiert die Methode |
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 In BMT-Beans (Bean Managed Transaction, Bean-gesteuerte Transaktion) konvertiert die Schnellkorrektur die markierte Zeile in In Servlets, Webanwendungen und Clientcode wird die markierte Zeile in die JNDI-Suche konvertiert:
|
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 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 |