Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Group Id: sampleear
  • Artifact Id: sample-ejb
  • Artifact Type: ejb

Press Finish.

You should now have the following project structure.

Note

Remove ejbModule/META-INF/openejb-jar.xml file in the SampleEJB project as it leads to causes deployment issues.

Create Dynamic Web Project

...

  • Group Id: sampleear
  • Artifact Id: sample-war
  • Artifact Type: war

Press Finish.

You should now have the following project structure.

...

Code Block
java
java
borderStylesolid
titleMyServlet.java
package sampleear;

import java.io.IOException;

import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MyServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    static final long serialVersionUID = 1L;

    @EJB
    RemoteBusinessInterface remoteBusinessIntf;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");
        if (name == null || name.length() == 0) {
            name = "anonymous";
        }
        response.getWriter().write(remoteBusinessIntf.sayHello(name));
    }
}

Create application.xml

Note

It appears that the file is not created by default and the application could not be deployed to any Java EE 5-compliant application server, Geronimo including. We need to define it manually. Don't know whether it's a bug in Eclipse or Geronimo Eclipse Plugin.

Create application.xml deployment descriptor in EarContent/META-INF directory of the SampleEAR project as follows.

Code Block
xmlxml
borderStylesolid
titleapplication.xml

<?xml version="1.0" encoding="ASCII"?>
<application xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"
  version="5">
  <display-name>SampleEAR</display-name>
  <module>
    <ejb>SampleEJB.jar</ejb>
  </module>
  <module>
    <web>
      <web-uri>SampleWAR.war</web-uri>
      <context-root>/SampleWAR</context-root>
    </web>
  </module>
</application>

Run it!

After a very hard 4-minute development it's time to give it a shot and see if it works. Not much time left so hurry up!

...