The Time Bean Example
This is a very simple example of a JSP-page calling a Session Bean. The result looks like this:
The primary purpose of the example is to provide a very simple demonstration of an EJB session bean. It is not intended to be a complete example or one that could be used as a template for creating your own EJB session bean. This is an example using Geronimo 2.1, Java 1.5 and EJB 3.0.
Application Contents
MyTimeBean.java is an EJB that can tell time. The EJB is in the package org.apache.geronimo.samples.mytimepak. By using the @Stateless annotation Geronimo will recognize that this is a stateless session bean. There is no need for a ejb-jar.xml.
MyTimeLocal.java is the Local interface. As this EJB will only be used from a JSP-page that is running in the same server (same JVM) I use a Local interface that do not make use of the network.
index.jsp utilizes the MyTimeBean to tell time.
geronimo-web.xml specifies the module's information and the url for the web-app.
web.xml references the EJB present in the WEB-INF/classes/org/apache/geronimo/samples/mytimepak
directory.
Deployment Plan for the Application
plan.xml is generated by building the sample and can be found under ./mytime-jetty/target/resources/META-INF/plan.xml to deploy on jetty or ./mytime-tomcat/target/resources/META-INF/plan.xml to deploy on tomcat following a successful build of the sample. Shown below is the deployment plan for tomcat.
Building, Configuring, and Deploying the application
Source Code for Sample
Please reference Samples General Information for information on obtaining and building the source for this and other samples.
Building
Use a command prompt to navigate into the mytime directory and just give mvn clean install site command to build. It will create the mytime-ear-2.1-SNAPSHOT.ear under the mytime folder. Now, you are ready to deploy mytime application in the Geronimo Application server using either the plugins generated for tomcat and jetty or the deployment plan that was generated and the ear.
Deploying the Application
Deploying sample application is pretty straight forward as we are going to use the Geronimo Console.
- Scroll down to Deploy New from the Console Navigation panel.
- Load mytime-ear-2.1-SNAPSHOT.ear from mytime folder in to the Archive input box.
- Load plan.xml from ./mytime-jetty/target/resources/META-INF/ or ./mytime-tomcat/target/resources/META-INF/ depending on the target server (jetty or tomcat).
- Press Install button to deploy application in the server.
MyTime Web Application
To test the sample web application open a browser and type http://localhost:8080/mytime.