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


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
OpenEJB ready.
 OpenEJB Remote Server
      ** Starting Services **
      NAME             IP          PORT
      httpejbd         4204
      admin thread         4200
      ejbd            4201
      hsql            9001
      telnet          4202

4. Write an EJB

In the EJB project create a new interface named Greeting

package com.myejbs;

import javax.ejb.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;

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:\openejb-3.0.0-SNAPSHOT > bin\openejb deploy apps\greeting.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\}


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

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


:#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://");
            InitialContext ctx = new InitialContext(p);
            Greeting greeter = (Greeting) ctx.lookup("GreetingBeanRemote");
            String message = greeter.greet();
        } catch (Exception e) {

7. Run the Client

Open 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

Copyright © 1999-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.