Menú Curso Java EJB's : Código Fuente "ClienteEjecutivo" utilizado como Cliente de un EJB "BMP Entity Bean"

(Anterior) BMP ("Bean Managed Persistence")

El siguiente Cliente es un simple programa Java de terminal que realiza ciertas búsquedas sobre los EJB's generados anteriormente.

   También se recomienda abrir el administrador de Base de Datos 
   HSQL (Hypersonic) de su ambiente  para observar los cambios 
   realizados a esta; los parámetros de conexión son: 
                
		Type : 	HSQL Database Engine Server     
		Driver: org.hsqldb.jdbcDriver 
		URL : jdbc:hsqldb:hsql://localhost:1701 (Agregar Puerto)

   La tabla manipulada por el EJB es llamada CUENTAS_BANCARIAS

Clase ClienteEjecutivo

package com.osmosislatina.ejb.cuenta;
import java.util.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;

public class ClienteEjecutivo {

 

   public static void main(String[] args) {

  Properties env = new Properties();
              
              // Definir las propiededes y ubicacion de busqueda de Nombres JNDI.
              env.setProperty("java.naming.factory.initial",  "org.jnp.interfaces.NamingContextFactory");
              env.setProperty("java.naming.provider.url",  "localhost:1099");
              env.setProperty("java.naming.factory.url.pkgs",  "org.jboss.naming");


       try {
           Context initial = new InitialContext(env);
           Object objref = initial.lookup("BancoDeMexico");

           CuentaBancariaHome home = 
               (CuentaBancariaHome)PortableRemoteObject.narrow(objref, 
                                            CuentaBancariaHome.class);

           Collection c = home.findPorApellido("King");
           Iterator i=c.iterator();
          System.out.println("CUENTAS CON APELLIDO KING : " );

           while (i.hasNext()) {
              CuentaBancaria cuenta = (CuentaBancaria)i.next();
              String id = (String)cuenta.getPrimaryKey();
              double balance = cuenta.getSaldo(); 
              String nombre = (String)cuenta.getNombre();
	      System.out.println(nombre + " King , Cuenta No : " + id + " Saldo: " + String.valueOf(balance));
                
           }

           c = home.findEnRango(45000.00, 90000.00);
           i=c.iterator();

          System.out.println("CUENTAS CON SALDO ENTRE 45,000 y 90,000 : " );
           while (i.hasNext()) {
              CuentaBancaria cuenta = (CuentaBancaria)i.next();
              String id = (String)cuenta.getPrimaryKey();
              double balance = cuenta.getSaldo(); 
	      String nombre = (String)cuenta.getNombre();
	      String apellido = (String)cuenta.getApellido();
              System.out.println(nombre + " " + apellido + " Cuenta No : " + id + " Saldo: " + String.valueOf(balance));
           } 
 
       } catch (Exception ex) {
           System.err.println("Caught an exception." );
           ex.printStackTrace();
       }
 
   } 
}

  • La primer sección de este programa importa las clases necesarias para generar el Cliente.

  • Al iniciarse el método principal se declaran diversas propiedades las cuales son utilizadas para localizar el servidor JNDI que contiene las referencias al EJB.

  • Utilizando las propiedades anteriores se genera una búsqueda por el EJB llamado BancoDeMexico.

  • Una vez encontrada la referencia se genera una instancia del "Home Interface" del EJB, a través de ésta serán generadas las instancias del EJB.

  • Posteriormente se generan diversas búsquedas sobre las cuentas bancarias generadas por el EJB.

Terminos Legales de Contenido ©2000-2011 Osmosis Latina

Diseñado bajo estándares : XHTML   CSS  

webmaster@osmosislatina.com