Migración de código de EJB 1.1 a EJB 2.x

En el caso de los proyectos convertidos de EJB 1.1 a EJB 2.x, se deben realizar unos pasos para migrar el código EJB 1.1 existente a EJB 2.x.

Acerca de esta tarea

Nota: Los beans de EJB 2.x solo se soportan en un proyecto de EJB 2.x (aunque en un proyecto de 2.x también soporta beans de 1.1).
  1. Para los beans CMP 1.1, sustituya cada campo CMP por los métodos abstractos getXXX y setXXX. (Por lo tanto, la clase de bean también debe ser abstracta).
  2. Para los CMP, cree un método abstracto getXXX y setXXX para la clave primaria.
  3. Para los métodos de búsqueda CMP 1.1, cree un método EJBQL (lenguaje de consulta EJB) para cada método de búsqueda.
    Nota: El lenguaje de consulta EJB tiene las siguientes limitaciones en versión 8.5.x V6.0:
    • Las consultas de Lenguaje de consulta EJB que implican EJB con claves formadas por relaciones con otros EJB aparecerán como no válidas y producirán errores durante el despliegue.
    • El soporte de lenguaje de consulta EJB de IBM® amplía la especificación EJB 2.x de diversas maneras, incluyendo la relajación de algunas restricciones, la adición de soporte para más funciones de DB2, etc. Si le interesa la portabilidad entre diversas bases de datos de proveedor o una herramienta de despliegue EJB, deberá tener cuidado de escribir todas las consultas de lenguaje de consulta EJB de forma que estén estrictamente de acuerdo con las instrucciones indicadas en el capítulo 11 de la especificación EJB 2.x.
  4. Para los buscadores de CMP 1.1, devuelva java.util.Collection en lugar de java.util.Enumeration.
  5. Para los beans CMP de 1.1, cambie todas las apariciones de this.field = value por setField(value) en el método ejbCreate() y en cualquier otra parte del código.
  6. Actualice el manejo de excepciones (comportamiento de la retrotracción) para las excepciones que no son de la aplicación:
    • Emita javax.ejb.EJBException en lugar de java.rmi.RemoteException para informar de las excepciones que no son de la aplicación.
    • En EJB 2.x y 1.1, todas las excepciones que no son de la aplicación generadas por la instancia producen la retrotracción de la transacción en la que se ha ejecutado la instancia y el descarte de la instancia.
  7. Actualice el manejo de excepciones (comportamiento de la retrotracción) para las excepciones de la aplicación:
    • En EJB 2.x y 1.1, una excepción de aplicación no hace que el contenedor retrotraiga automáticamente una transacción.
    • En EJB 1.1, el contenedor realiza la retrotracción solamente si la instancia se ha invocado utilizando el método setRollbackOnly() en el objeto EJBContext.
  8. Actualice cualquier valor CMP de los valores predeterminados específicos de la aplicación para que estén dentro de ejbCreate (sin utilizar variables globales, porque los contenedores EJB 1.1 establecen todos los campos en valores predeterminados genéricos antes de llamar a ejbCreate, que sobrescribirá los valores predeterminados anteriores específicos de la aplicación).
Icono que indica el tipo de tema Tema de tarea
Términos y condiciones para centros de información | Comentarios

Icono de indicación de fecha y hora Última actualización: 22 de abril de 2014

Nombre de archivo: tejb1xto20.html