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

(Anterior) CMP ("Container Managed Persistence")

El siguiente Cliente es un simple programa Java de terminal que manipula Cuentas Bancarias que fueron creadas por el Cliente anterior.


   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_AUTOMATICAS

También se recomienda manipular la Base de Datos directamente para 
observar como es sincronizada la informacón con el EJB.
Ejecute:
       UPDATE CUENTAS_AUTOMATICAS SET SALDO=3000000 WHERE NOMBRE='Roberto'
    
Una vez ejecutado lo anterior notará que el EJB es sincronizado
 con esta información.

Clase ClienteCajeroCMP


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

public class ClienteCajeroCMP {

 

   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("BancoNacional");

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


           CuentaBancariaCMP roberto = home.findByPrimaryKey("960000");
           roberto.deducir(757000.00);
           double balance = roberto.getSaldo();
           System.out.println("El Saldo nuevo de Roberto es = " + String.valueOf(balance));

	   CuentaBancariaCMP julio = home.findByPrimaryKey("760000");
           julio.abonar(85000.00);
           balance = julio.getSaldo();
           System.out.println("El Saldo de Julio ahora es = " + String.valueOf(balance)); 
 

       } catch (SaldoInsuficiente ex) {
           System.err.println("Caught an SaldoInsuficiente  : " 
                               + ex.getMessage());

       } 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 BancoNacional.

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

  • Posteriormente se realizan búsquedas sobre ciertas cuentas bancarias y en el proceso se invocan otros métodos que fueron definidos para el EJB.

Terminos Legales de Contenido ©2000-2011 Osmosis Latina

Diseñado bajo estándares : XHTML   CSS  

webmaster@osmosislatina.com