Switch to full style
Java2 codes,problems ,discussions and solutions are here
Post a reply

EJB 3.0 Stateful Session Bean Example

Fri Oct 10, 2008 12:27 am

This article demonstrates how to write a simple Stateful Session Bean. It consists of three POJO's: Remote interface Cart.java, Bean class CartBean.java and EJB client CartClient.java.

Prerequisites

In order to complete the example application, you should be familiar with the following:

* EJB 3.0

This demonstration requires that the following software components are installed and configured correctly:

* Application Server such as J2EE, or other
* Sun JDK version 1.5 or above

Remote Interface: Cart.java
Code:
package ejb_stateful;

import java.util.Collection;
import javax.ejb.Remote;

@Remote
public interface Cart {
    public void addItem(String item);
    public void removeItem(String item);
    public Collection getItems();
}


Stateful Session Bean: CartBean.java

Code:
import java.util.ArrayList;
import java.util.Collection;
import javax.annotation.PostConstruct;
import javax.ejb.Stateful;

@Stateful
public class CartBean implements Cart {
    private ArrayList items;

    @PostConstruct
    public void initialize() {
        items = new ArrayList();
    }
   
    public void addItem(String item) {
        items.add(item);
    }

    public void removeItem(String item) {
        items.remove(item);
    }

    public Collection getItems() {
        return items;
    }
}


EJB Client: CartClient.java
Code:
package ejb_stateful;

import java.util.Collection;
import java.util.Iterator;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class CartClient {
    public static void main(String [] args) throws NamingException {
       
        try {
            final Context context = getInitialContext();
            Cart cart = (Cart)context.lookup("CartBean");
           
            System.out.println("Adding items to cart");
           
            cart.addItem("Pizza");
            cart.addItem("Pasta");
            cart.addItem("Noodles");
            cart.addItem("Bread");
            cart.addItem("Butter");
           
           
            System.out.println("Listing cart contents");
            Collection items = cart.getItems();
            for (Iterator i = items.iterator(); i.hasNext();) {
            String item = (String) i.next();
            System.out.println("  " + item);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    private static Context getInitialContext() throws NamingException {
        return new InitialContext();
    }
}

Compile all the programs, start the server and execute CartClient. You will see following Output:
Code:
Adding items to cart
Listing cart contents
  Pizza
  Pasta
  Noodles
  Bread
  Butter

u need app-serv-rt.jar(for GlassFish 2.0)



Post a reply
  Related Posts  to : EJB 3.0 Stateful Session Bean Example
 EJB session bean     -  
 POJO JAVA BEAN     -  
 session in jsp     -  
 PHP session variables     -  
 Session Valid     -  
 php login with session     -  
 Session handling using Struts     -  
 Login using session with php and mysql     -  
 tomcat session tracking     -  
 session Encoding Data in php     -