FileDocCategorySizeDatePackage
Client_53.javaAPI DocExample2138Thu Sep 13 21:43:20 BST 2001com.titan.clients

Client_53.java

package com.titan.clients;					

import com.titan.travelagent.TravelAgentHomeRemote;		
import com.titan.travelagent.TravelAgentRemote;			

import javax.naming.InitialContext;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.ejb.EJBMetaData;
import javax.rmi.PortableRemoteObject;		
import java.rmi.RemoteException;
import java.util.Properties;

/**
 * Example of using EJBObject to retrieve home interface.
 * 
 */
public class Client_53 {

    public static void main(String [] args) {
		try {
			Context jndiContext = getInitialContext();  
			Object ref = jndiContext.lookup("TravelAgentHomeRemote");
			TravelAgentHomeRemote home = (TravelAgentHomeRemote)
				PortableRemoteObject.narrow(ref,TravelAgentHomeRemote.class);

			// Get a remote reference to the bean (EJB object).
			TravelAgentRemote agent = home.create();
			// Pass the remote reference to some method.
			getTheEJBHome(agent);

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

	public static void getTheEJBHome(TravelAgentRemote agent)
		throws RemoteException {

		// The home interface is out of scope in this method,
		// so it must be obtained from the EJB object.
		Object ref = agent.getEJBHome();
		TravelAgentHomeRemote home = (TravelAgentHomeRemote)
			PortableRemoteObject.narrow(ref,TravelAgentHomeRemote.class);

		// Do something useful with the home interface
		EJBMetaData meta = home.getEJBMetaData();
		System.out.println(meta.getHomeInterfaceClass().getName());
		System.out.println(meta.getRemoteInterfaceClass().getName());
		System.out.println(meta.isSession());

	}

	static public Context getInitialContext() throws Exception {
		java.util.Properties properties = new java.util.Properties();
		properties.put(javax.naming.Context.PROVIDER_URL, "iiop:///");
		properties.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, 
			"com.ibm.websphere.naming.WsnInitialContextFactory");
		InitialContext initialContext = new InitialContext(properties);
		return initialContext;
	}
}