| h2. 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 |
| # Download and install OpenEJB |
| # Setup your development environment |
| # Write an EJB |
| # Write an EJB client |
| # Start the server |
| # Deploy the EJB |
| # Run the client |
| # Stop the server |
| |
| {quote} |
| |
| {quote} |
| |
| h2. 1. Download and Install OpenEJB |
| |
| Follow these [instructions|http://cwiki.apache.org/confluence/display/OPENEJB/Quickstart] |
| |
| h2. 2. Setup your development environment |
| |
| |
| h3. 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 |
| |
| h2. 3. Start the Server |
| |
| Open the command prompt and run the following command: |
| {noformat} |
| d:\openejb-3.0.0-SNAPSHOT\bin\openejb start |
| {noformat} |
| You will get the following message on the console: |
| {noformat} |
| D:\openejb-3.0.0-SNAPSHOT>bin\openejb start |
| Apache OpenEJB 3.0.0-SNAPSHOT build: 20070830-07:53 |
| http://openejb.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! |
| {noformat} |
| |
| h2. 4. Write an EJB |
| |
| In the EJB project create a new interface named Greeting |
| {code} |
| package com.myejbs; |
| |
| import javax.ejb.Remote; |
| |
| @Remote |
| public interface Greeting { |
| public String greet(); |
| } |
| {code} |
| Now create a new class named GreetingBean which implements the above interface (shown below) |
| {code} |
| package com.myejbs; |
| |
| import javax.ejb.Stateless; |
| |
| @Stateless |
| public class GreetingBean implements Greeting { |
| |
| public String greet() { |
| return "My First Remote Stateless Session Bean"; |
| } |
| |
| } |
| {code} |
| |
| h2. 5. Deploy the EJB |
| |
| # Export the EJBProject as a jar file. Name it greeting.jar and put it in the OPENEJB_HOME/apps directory. |
| # Open the command prompt and type in the following command: |
| |
| {noformat} |
| d:\openejb-3.0.0-SNAPSHOT > bin\openejb deploy apps\greeting.jar |
| {noformat} |
| This should give you the following output: |
| {noformat} |
| 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) |
| {noformat} |
| {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} |
| |
| h2. 6. Write the Client |
| |
| In the EJBClient project, create a class named Client (shown below) |
| {code} |
| 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(); |
| } |
| } |
| } |
| {code} |
| |
| h2. 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: |
| {noformat} |
| My First Remote Stateless Session Bean |
| {noformat} |
| |
| h2. 8. Stop the server |
| |
| There are two ways to stop the server: |
| # You can press Ctrl+c on the command prompt to stop the server |
| # On the command prompt type in the following command: |
| {noformat} |
| D:\openejb-3.0.0-SNAPSHOT>bin\openejb stop |
| {noformat} |