Package com.titan.clients

Source Code of com.titan.clients.Client_55

package com.titan.clients;         

import com.titan.cabin.CabinHomeRemote; 
import com.titan.cabin.CabinRemote; 

import javax.naming.InitialContext;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.ejb.Handle;
import javax.ejb.HomeHandle;
import javax.ejb.EJBMetaData;
import javax.ejb.FinderException;
import javax.rmi.PortableRemoteObject;   
import java.rmi.RemoteException;
import java.util.Properties;
import java.io.*;

/**
* Example showing use of handles.
*
*/
public class Client_55 {

    public static void main(String [] args) {
    try {

      Context jndiContext = getInitialContext()

      Object ref = jndiContext.lookup("CabinHome");
      CabinHomeRemote home = (CabinHomeRemote)
        PortableRemoteObject.narrow(ref,CabinHomeRemote.class);

      System.out.println("Testing serialization of EJBObject handle");

      Integer pk_1 = new Integer(100);
      CabinRemote cabin_1 = home.findByPrimaryKey(pk_1);

      // Serialize the Handle for cabin 100 to a file.
      Handle handle = cabin_1.getHandle();
      FileOutputStream fos = new FileOutputStream("handle100.ser");
      ObjectOutputStream outStream = new ObjectOutputStream(fos);
      System.out.println("Writing handle to file...");
      outStream.writeObject(handle);
      outStream.flush();
      fos.close();
      handle = null;

      // Deserialize the Handle for cabin 100.
      FileInputStream fis = new FileInputStream("handle100.ser");
      ObjectInputStream inStream = new ObjectInputStream(fis);
      System.out.println("Reading handle from file...");
      handle = (Handle)inStream.readObject();
      fis.close();

      // Reobtain a remote reference to cabin 100 and read its name.
      System.out.println("Acquiring reference using deserialized handle...");
      ref = handle.getEJBObject();
      CabinRemote cabin_2 = (CabinRemote)
        PortableRemoteObject.narrow(ref, CabinRemote.class);

      if(cabin_1.isIdentical(cabin_2)) {
        System.out.println("cabin_1.isIdentical(cabin_2) returns true - This is correct");
      } else {
        System.out.println("cabin_1.isIdentical(cabin_2) returns false - This is wrong!");
      }

      System.out.println("Testing serialization of Home handle");

      // Serialize the HomeHandle for the cabin bean.
      HomeHandle homeHandle = home.getHomeHandle();
      fos = new FileOutputStream("handle.ser");
      outStream = new ObjectOutputStream(fos);
      System.out.println("Writing Home handle to file...");
      outStream.writeObject(homeHandle);
      outStream.flush();
      fos.close();
      homeHandle = null;

      // Deserialize the HomeHandle for the cabin bean.
      fis = new FileInputStream("handle.ser");
      inStream = new ObjectInputStream(fis);
      System.out.println("Reading Home handle from file...");
      homeHandle = (HomeHandle)inStream.readObject();
      fis.close();

      System.out.println("Acquiring reference using deserialized Home handle...");
      Object hometemp = homeHandle.getEJBHome();
      CabinHomeRemote home2 = (CabinHomeRemote)
        PortableRemoteObject.narrow(hometemp,CabinHomeRemote.class);


      System.out.println("Acquiring reference to bean using new Home interface...");
      CabinRemote cabin_3 = home2.findByPrimaryKey(pk_1);

      // Test that we end up with the same bean after finding it through this home
      if(cabin_1.isIdentical(cabin_3)) {
        System.out.println("cabin_1.isIdentical(cabin_3) returns true - This is correct");
      } else {
        System.out.println("cabin_1.isIdentical(cabin_3) returns false - This is wrong!");
      }
                       


        } catch (java.rmi.RemoteException re){re.printStackTrace();}
          catch (Throwable t){t.printStackTrace();}
          System.exit(0);
  }


  static public Context getInitialContext() throws Exception {
    return new InitialContext();
  }
}


TOP

Related Classes of com.titan.clients.Client_55

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.