Code von EJB 1.1 auf EJB 2.x migrieren

Für Projekte, die von EJB 1.1 in EJB 2.x konvertiert werden, müssen Schritte ausgeführt werden, um vorhandenen EJB 1.1-Code auf EJB 2.x zu migrieren.

Informationen zu diesem Vorgang

Anmerkung: EJB 2.x-Beans werden nur in einem EJB 2.x-Projekt unterstützt (obwohl ein 2.x-Projekt auch 1.1-Beans unterstützt).
  1. Ersetzen Sie bei jeder 1.1-CMP-Bean alle CMP-Felder durch die abstrakten Methoden getXXX und setXXX. (Dann muss die Bean-Klasse abstrakt sein.)
  2. Erstellen Sie für alle CMPs eine abstrakte Methode getXXX und setXXX für den Primärschlüssel.
  3. Erstellen Sie für alle CMP 1.1-Finder-Methoden eine EJBQL-Methode (EJB Query Language, EJB-Abfragesprache) für die einzelnen Finder-Methoden.
    Anmerkung: Für die EJB-Abfragesprache gelten in Version 8.5.x Version 6.0 die folgenden Einschränkungen:
    • Abfragen in EJB-Abfragesprache, bei denen EJBs mit Schlüsseln verwendet werden, die aus Beziehungen zu anderen EJBs bestehen, werden als ungültig angezeigt und verursachen Fehler bei der Implementierung.
    • Die Unterstützung der IBM® EJB-Abfragesprache erweitert die EJB 2.x-Spezifikation auf verschiedene Arten, z. B. werden einige Einschränkungen verringert, Unterstützung für weitere DB2-Funktionen wird hinzugefügt usw. Wenn die Portierbarkeit zu Datenbanken verschiedener Anbieter oder das EJB-Implementierungstool eine Rolle spielen, muss sorgfältig darauf geachtet werden, dass alle Abfragen in EJB-Abfragesprache streng nach den in Kapitel 11 der EJB 2.x-Spezifikation aufgeführten Anweisungen geschrieben werden.
  4. Geben Sie für alle CMP 1.1-Finder java.util.Collection statt java.util.Enumeration zurück.
  5. Ändern Sie für alle CMP 1.1-Beans alle Vorkommen von this.field = value in setField(value) in ejbCreate(). Führen Sie diese Änderung im übrigen Code ebenfalls durch.
  6. Aktualisieren Sie die Behandlung von Ausnahmen (Rollbackverhalten) bei Ausnahmen, die nicht für Anwendungen ausgegeben werden:
    • Lösen Sie javax.ejb.EJBException anstelle von java.rmi.RemoteException aus, um Ausnahmen zu melden, die nicht für Anwendungen ausgegeben werden.
    • In EJB 2.x und 1.1 führen alle nicht für Anwendungen von der Instanz ausgegebenen Ausnahmen zu einem Rollback der Transaktion, in der die Instanz ausgeführt wurde, und zum Löschen der Instanz.
  7. Aktualisieren Sie die Behandlung von Ausnahmen (Rollbackverhalten) für Anwendungsausnahmen wie folgt:
    • In EJB 2.x und 1.1 führt eine Anwendungsausnahme nicht dazu, dass der Container automatisch einen Rollback einer Transaktion durchführt.
    • In EJB 1.1 führt der Container den Rollback nur durch, wenn die Instanz mithilfe der Methode setRollbackOnly() für das zugehörige EJBContext-Objekt aufgerufen wurde.
  8. Aktualisieren Sie alle CMP-Einstellungen anwendungsspezifischer Standardwerte so, dass diese sich innerhalb von ejbCreate befinden. (Verwenden Sie dazu keine globalen Variablen, da EJB 1.1-Container alle Felder auf generische Standardwerte setzen, bevor sie ejbCreate aufrufen und dadurch alle vorherigen anwendungsspezifischen Standardwerte überschreiben.)
Symbol das den Typ des Artikels anzeigt. Taskartikel
Nutzungsbedingungen für Information Center | Feedback

Symbol für Zeitmarke Letzte Aktualisierung: 29.04.2014

Dateiname: tejb1xto20.html