this is a extra element for clear the floated element
Beans入门必读之经典EJB例子代码
  • 12/31
  • 2008
EJB | Java 4217 次查看
  rmi-iiop ejb客户端例子

  A Java RMI-IIOP client with a proprietary EJB server.

  package com.wiley.compBooks.roman.corba.helloworld;

  import javax.ejb.*;

  import javax.naming.*;

  import javax.rmi.*;

  import java.util.Properties;

  import javax.transaction.UserTransaction;

  /**

  * This class is an example of client code that invokes

  * methods on a simple stateless session bean.

  */

  public class RMIClient {

  public static void main(String[] args) {

  try {

  /*

  * Get System properties for JNDI initialization

  */

  Properties props = System.getProperties();

  /*

  * Use JNDI to look up the home object

  */

  Context ctx = new InitialContext(props);

  HelloHome home = (HelloHome)

  javax.rmi.PortableRemoteObject.narrow(

  ctx.lookup("HelloHome"),

  HelloHome.class);

  /*

  * Use JNDI to look up the JTA

  * UserTransaction interface

  */

  UserTransaction userTran = (UserTransaction)

  ctx.lookup("javax.transaction.UserTransaction");

  /*

  * Start the transaction

  */

  userTran.begin();

  /*

  * Use the home object to create the Hello EJB Object

  */

  Hello hello = home.create();

  /*

  * Call the hello() method, and print it

  */

  System.out.println(hello.hello());

  /*

  * Done with EJB Object, so remove it

  */

  hello.remove();

  /*

  * Commit the transaction

  */

  userTran.commit();

  } catch (Exception e) {

  e.printStackTrace();

  }

  }

  }

  Example RMI-IIOP EJB client

  A CORBA client with a CORBA-based EJB server.

  package com.wiley.compBooks.roman.corba.helloworld;

  import java.util.*;

  import org.omg.CosNaming.*;

  import org.omg.CosTransactions.*;

  public class CORBAClient {

  public static void main(String[] args) throws Exception {

  /*

  * Initialize the ORB.

  *

  * A more portable way to do this is:

  *

  * Properties p = new Properties();

  * p.put("org.omg.CORBA.ORBClass", <..ORB class..>);

  * org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, p);

  */

  org.omg.CORBA.ORB orb = com.inprise.ejb.Global.orb();

  /*

  * Get a reference to a naming context

  */

  NamingContext context = NamingContextHelper.narrow

  (orb.resolve_initial_references("NameService"));

  /*

  * Look up the home object using COS Naming

  */

  NameComponent[] names = { new NameComponent("HelloHome", "") };

  HelloHome helloHome = HelloHomeHelper.narrow

  (context.resolve(names));

  /*

  * Get the CORBA OTS Current interface for

  * controlling transactions

  */

  Current currentTX = CurrentHelper.narrow

  (orb.resolve_initial_references("TransactionCurrent"));

  /*

  * Begin the transaction

  */

  currentTX.begin();

  /*

  * Use the home object to create an EJB object

  */

  Hello hello = helloHome.create();

  /*

  * Call a business method

  */

  System.out.println(hello.hello());

  /*

  * Remove the EJB object

  */

  hello.remove();

  /*

  * Commit the transaction

  */

  currentTX.commit(true);

  }

  }