Migrazione del codice da EJB 1.1 a EJB 2.x

Per i progetti convertiti da EJB 1.1 a EJB 2.x, è necessario attenersi alla seguente procedura per migrare il codice esistente da EJB 1.1 a EJB 2.x.

Nota: I bean EJB 2.x sono supportati solo in un progetto EJB 2.x (tuttavia, i progetti 2.x supportano anche i bean 1.1).
  1. Per qualsiasi bean CMP 1.1, sostituire ogni campo CMP con metodi getXXX e setXXX astratti. Anche la classe bean deve essere astratta.
  2. Per CMP, creare un metodo astratto getXXX e setXXX per la chiave primaria.
  3. Per il metodo finder CMP 1.1, creare un metodo EJBQL (EJB Query Language) per ogni metodo finder.
    Nota: EJB Query Language ha le seguenti limitazioni in Rational Application DeveloperRational Web Developer V6.0:
    • Le query di EJB Query Language che comprendono EJB con chiavi composte di relazioni ad altri EJB verranno visualizzate come non valide e causeranno errori in fase di impiego.
    • Il supporto IBM EJB Query Language estende la specifica EJB 2.x in vari modi, tra cui la riduzione di alcune limitazioni, l'aggiunta di un supporto per più funzioni DB2 e così via. Se la portabilità attraverso vari database di fornitori o strumenti di distribuzione EJB costituisce un problema, allora l'attenzione deve essere rivolta a scrivere tutte le query EJB Query Language rigorosamente in base alle istruzioni descritte nel capitolo 11 della specifica EJB 2.x.
  4. Per qualsiasi finder CMP 1.1, restituire java.util.Collection anziché java.util.Enumeration.
  5. Per i bean CMP 1.1, modificare tutte le ricorrenze della stringa this.field = value con setField(value) in ejbCreate() ed in qualsiasi altro punto del codice.
  6. Aggiornare la gestione delle eccezioni (funzione rollback) per le eccezioni non appartenenti all'applicazione:
    • Attivare javax.ejb.EJBException anziché java.rmi.RemoteException per riportare le eccezioni non appartenenti all'applicazione.
    • In EJB 2.x e 1.1, tutte le eccezioni non appartenenti all'applicazione attivate dall'istanza generano il rollback della transazione in cui è eseguita l'istanza e la eliminano.
  7. Aggiornare la gestione delle eccezioni (funzione rollback) per le eccezioni dell'applicazione:
    • In EJB 2.x e 1.1, un'eccezione di applicazione non provoca il rollback automatico di una transazione da parte del contenitore.
    • In EJB 1.1, il contenitore esegue il rollback solo se l'istanza è stata richiamata utilizzando il metodo setRollbackOnly() sull'oggetto EJBContext.
  8. Aggiornare le impostazioni CMP dei valori predefiniti specifici dell'applicazione in modo che siano all'interno di ejbCreate (non utilizzare variabili globali, poiché i contenitori EJB 1.1 impostano tutti i campi su valori predefiniti generici prima di richiamare ejbCreate che sovrascriverà tutte le precedenti impostazioni predefinite specifiche dell'applicazione).

Argomento principale: Migrazione dei progetti Enterprise JavaBeans (da EJB 1.1 a EJB 2.1)

Argomento precedente: Conversione di progetti da EJB 1.1 a EJB 2.x
Argomento successivo: Migrazione dei riferimenti EJB per le relazioni EJB 1.1

Attività correlate
Migrazione dei progetti Enterprise JavaBeans (da EJB 1.1 a EJB 2.1)
Conversione di progetti da EJB 1.1 a EJB 2.x
Migrazione dei riferimenti EJB per le relazioni EJB 1.1

Riferimenti correlati
Unione degli elementi del metodo durante la migrazione della struttura di progetti

(C) Copyright IBM Corporation 2000, 2004. Tutti i diritti riservati.