Lanza el servidor de ejemplos creado en un ejercicio anterior. Descarga el
fichero ejemplo7.zip
y descomprímelo en el directorio de
trabajo. Vamos a trabajar con los EJB definidos en ese fichero:
Vamos a desplegarlo y a probarlo. Esta vez, en lugar de una aplicación cliente tenemos unas páginas JSP. Antes de desplegarlo hay que crear las tablas necesarias en la base de datos (el script se encuentra en el directorio sql).
Recordamos la forma de ejecutar el script ejemplo7.sql
:
% cd sql % $WL_HOME/weblogic700/samples/server/eval/pointbase/tools/startPointBaseCommander.sh Do you wish to create a "New/Overwrite" Database? [default: N]: Select product to connect with: Embedded (E), or Server (S)? [default: E]: S Please enter the driver to use: [default: [com.pointbase.jdbc.jdbcUniversalDriver]: Please enter the database URL to use: [default: [jdbc:pointbase:server://localhost/sample]: jdbc:pointbase:server://localhost/demo Username: [default: PBPUBLIC]: examples Password: [default: PBPUBLIC]: examples PointBase Commander 4.2ECF build 183 SERVER Interactive SQL command language. Mac OS X/10.1.5(C) Copyright 1998 - 2002 PointBase(R), Inc. All rights reserved SQL> run "ejemplo7.sql";
Una vez que hemos creado las tablas, ya podemos proceder al despliegue y a
la prueba. Despliega el fichero ejemplo7.ear
como una aplicación.
Verás que tiene dos componentes, un fichero EJB JAR y un fichero WAR.
Para probar las páginas JSP debes abrir las URL:
1. Modifica la página JSP client1.jsp
para:
Reconstruye el fichero ear para que incluya las modificaciones, vuelve a desplegarlo y comprueba si funciona bien.
2. Modifica la página JSP client2.jsp
para:
3. Modifica el ejb Customer para incluir el siguiente método de ayuda
public void removePhoneNumberWithDelete(byte typeToRemove) throws javax.ejb.RemoveException { Collection phoneNumbers = this.getPhoneNumbers(); Iterator iterator = phoneNumbers.iterator(); while (iterator.hasNext()) { PhoneLocal phone = (PhoneLocal) iterator.next(); if (phone.getType() == typeToRemove) { phoneNumbers.remove(phone); phone.remove(); } } }
Modifica el fichero client3.jsp
para que se llame a este método
y comprueba que realmente se han borrado los ejb Phone correspondientes.