Preloader image

The following instructions are written using Eclipse 3.2. We

will refer to the install location of OpenEJB as OPENEJB_HOME

Here are some basic steps you need to perform to get started with OpenEJB 1. Download and install OpenEJB 1. Setup your development environment 1. Write an EJB 1. Write an EJB client 1. Start the server 1. Deploy the EJB 1. Run the client 1. Stop the server

1. Download and Install OpenEJB

Follow theseĀ instructions

2. Setup your development environment

Eclipse

  • Open eclipse and create a new java project. Name it EJBProject

  • Add the following jars to the build path of your project — OPENEJB_HOME/lib/geronimo-ejb_3.0_spec-1.0.jar

  • Now create another project named EJBClient. This is where we will write a test client

  • Add the following jars to the build path of this project — OPENEJB_HOME/lib/openejb-client-3.0.0-SNAPSHOT.jar

  • Add the EJBProject to the classpath of the EJBClient project

3. Start the Server

Open the command prompt and run the following command:

d:\openejb-3.0.0-SNAPSHOT\bin\openejb start

You will get the following message on the console:

D:\openejb-3.0.0-SNAPSHOT>bin\openejb start
Apache OpenEJB 3.0.0-SNAPSHOT    build: 20070830-07:53
http://tomee.apache.org/
OpenEJB ready.
[OPENEJB:init]
 OpenEJB Remote Server
      ** Starting Services **
      NAME             IP          PORT
      httpejbd         0.0.0.0         4204
      admin thread         0.0.0.0         4200
      ejbd             0.0.0.0         4201
      hsql             0.0.0.0         9001
      telnet           0.0.0.0         4202
    -------
    Ready!

4. Write an EJB

In the EJB project create a new interface named Greeting

package com.myejbs;

import javax.ejb.Remote;

@Remote
public interface Greeting {
  public String greet();
}

Now create a new class named GreetingBean which implements the above interface (shown below)

package com.myejbs;

import javax.ejb.Stateless;

@Stateless
public class GreetingBean implements Greeting {

    public String greet() {
        return "My First Remote Stateless Session Bean";
    }

}

5. Deploy the EJB

  1. Export the EJBProject as a jar file. Name it greeting.jar and put it in the OPENEJB_HOME/apps directory.

  2. Open the command prompt and type in the following command:

    d:-3.0.0-SNAPSHOT > bindeploy apps.jar

This should give you the following output:

D:\openejb-3.0.0-SNAPSHOT>bin\openejb deploy apps\greeting.jar

Application deployed successfully at \{0\}

App(id=D:\openejb-3.0.0-SNAPSHOT\apps\greeting.jar)

    EjbJar(id=greeting.jar, path=D:\openejb-3.0.0-SNAPSHOT\apps\greeting.jar)

    Ejb(ejb-name=GreetingBean, id=GreetingBean)

        Jndi(name=GreetingBeanRemote)

\{color:#330000}\{}Notice the Jndi(name=GreetingBeanRemote) information. Keep this handy as this is the JNDI name of the bean which the client will use for lookup\{}{color}

6. Write the Client

In the EJBClient project, create a class named Client (shown below)

package com.myclient;

import com.myejbs.Greeting;

import javax.naming.InitialContext;
import java.util.Properties;

public class Client {
    public static void main(String[] args) {

        try {
            Properties p = new Properties();
            p.put("java.naming.factory.initial", "org.openejb.client.RemoteInitialContextFactory");
            p.put("java.naming.provider.url", "ejbd://127.0.0.1:4201");
            InitialContext ctx = new InitialContext(p);
            Greeting greeter = (Greeting) ctx.lookup("GreetingBeanRemote");
            String message = greeter.greet();
            System.out.println(message);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

7. Run the Client

Open Client.java in eclipse and run it as a java application. You should see the following message in the console view:

My First Remote Stateless Session Bean

8. Stop the server

There are two ways to stop the server: 1. You can press Ctrl+c on the command prompt to stop the server 1. On the command prompt type in the following command:

D:\openejb-3.0.0-SNAPSHOT>bin\openejb stop