Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer's Guide

- Previous: Developing Clients Using the ACC
- Next: To access an EJB component from a server-side module

## To access an EJB component from a stand-alone client

1. In your client code, instantiate the `InitialContext`:

       InitialContext ctx = new InitialContext();

   It is not necessary to explicitly instantiate a naming context that points to the CosNaming service.

2. In the client code, look up the home object by specifying the JNDI name of the home object.

   For example:

       Object ref = ctx.lookup("jndi-name");
       BeanAHome = (BeanAHome)PortableRemoteObject.narrow(ref,BeanAHome.class);

   If load balancing is enabled as in Step 6 and the EJB components being accessed are in a different cluster, the endpoint list must be included in the lookup, as follows:

       corbaname:host1:port1,host2:port2,.../NameService#ejb/jndi-name

   For more information about naming and lookups, see Accessing the Naming Context.

3. Deploy the EJB component to be accessed.

   For more information on deployment, see Tools for Deployment.

4. Copy the following JAR files to the client machine and include them in the classpath on the client side:

   - `appserv-rt.jar` - available at install-dir`/lib`

   - `j2ee.jar` - available at install-dir`/lib`

5. To access EJB components that are residing in a remote system, set the values for the Java Virtual Machine startup options:

       jvmarg value = "-Dorg.omg.CORBA.ORBInitialHost=${ORBhost}"
       jvmarg value = "-Dorg.omg.CORBA.ORBInitialPort=${ORBport}"

   Here ORBhost is the Application Server hostname and ORBport is the ORB port number (default is `3700` for the default instance).

   This information can be obtained from the `domain.xml` file on the remote system. For more information on `domain.xml` file, see the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Administration Reference.

6. To set up load balancing and remote EJB reference failover, define the `endpoints` property as follows:

       jvmarg value = "-Dcom.sun.appserv.iiop.endpoints=host1:port1,host2:port2,..."

   The `endpoints` property specifies a comma-separated list of one or more IIOP endpoints used for load balancing. An IIOP endpoint is in the form host`:`port, where the host is an IPv4 address or host name, and the port specifies the port number.

   If the `endpoints` list is changed dynamically in the code, the new list is used only if a new `InitialContext` is created.

7. Run the stand-alone client.

   As long as the client environment is set appropriately and the JVM is compatible, you merely need to run the `main` class.

##### Example 8–2 Client Load Balancing and Failover

The following sample application demonstrates client load balancing and failover:

    install-dir/samples/ee-samples/failover/apps/sfsbfailover

- Previous: Developing Clients Using the ACC
- Next: To access an EJB component from a server-side module

- © 2010, Oracle Corporation and/or its affiliates