Source Code : Use Lifecycle Method To Manage Collection In Stateful Session Bean

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

Use Lifecycle Method To Manage Collection In Stateful Session Bean


File: EmployeeBean.java

import java.util.ArrayList;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.ejb.Remove;
import javax.ejb.Stateful;

@Stateful
public class EmployeeBean implements EmployeeServiceLocal, EmployeeServiceRemote {

  public EmployeeBean() {
  }
  public ArrayList cartItems;


  public void addWineItem(String wine) {
    cartItems.add(wine);
  }

  public void removeWineItem(String wine) {
    cartItems.remove(wine);
  }

  public void setCartItems(ArrayList cartItems) {
    this.cartItems = cartItems;
  }

  public ArrayList getCartItems() {
    return cartItems;
  }

  @PostConstruct
  public void initialize() {
    cartItems = new ArrayList();
  }

  @PreDestroy
  public void exit() {
    System.out.println("Saved items list into database");
  }

  @Remove
  public void stopSession() {
    // The method body can be empty. 
    System.out.println("From stopSession method with @Remove annotation");
  }
  public void doAction() {
    System.out.println("Processing...");
  }

}


File: EmployeeServiceLocal.java

import javax.ejb.Local;
import javax.ejb.Remote;


@Local

public interface EmployeeServiceLocal{
  public void doAction();
}



File: EmployeeServiceRemote.java

import javax.ejb.Remote;

@Remote
public interface EmployeeServiceRemote {
  public void doAction();


}


File: Employee.java

import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.PostRemove;

@Entity

public class Employee implements java.io.Serializable {
  private int id;

  private String firstName;

  private String lastName;

  @Id
  @GeneratedValue
  public int getId() {
    return id;
  }


  @PostRemove
  public void postRemove()
  {
     System.out.println("@PostRemove");
  }

  public void setId(int id) {
    this.id = id;
  }

  public String getFirstName() {
    return firstName;
  }

  public void setFirstName(String first) {
    this.firstName = first;
  }

  public String getLastName() {
    return lastName;
  }

  public void setLastName(String last) {
    this.lastName = last;
  }
}


File: jndi.properties

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:1099


File: Main.java

import javax.ejb.EJB;
import javax.naming.InitialContext;

public class Main {
  
  public static void main(String[] a) throws Exception {

    EmployeeServiceRemote service = null;

    // Context compEnv = (Context) new InitialContext().lookup("java:comp/env");

    // service = (HelloService)new InitialContext().lookup("java:comp/env/ejb/HelloService");
    service = (EmployeeServiceRemote) new InitialContext().lookup("EmployeeBean/remote");

    service.doAction();

  }

}




           
       

Thank with us