Stateless Session Bean With Three Methods : Stateless Session Bean « EJB3 « Java






Stateless Session Bean With Three Methods


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.naming.InitialContext;

import bean.CountRemote;

public class Main {

  public static void main(String[] a) throws Exception {
    String name = "java2s";
    CountRemote service = null;

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

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

    int countVal = 9;

    service.set(countVal);
    countVal = service.count();
    System.out.println(countVal);
    System.out.println("Calling count() on beans...");

    countVal = service.count();
    System.out.println(countVal);

    service.remove();

  }

}


File: CountBean.java

package bean;

import javax.ejb.Remote;
import javax.ejb.Remove;
import javax.ejb.Stateless;
import javax.interceptor.Interceptors;

@Stateless
@Remote(CountRemote.class)
public class CountBean implements CountLocal, CountRemote {

    /** The current counter is our conversational state. */
    private int val;

    /**
     * The count() business method.
     */
    public int count() {
        System.out.println("count()");
        return ++val;
    }

    /**
     * The set() business method.
     */
    public void set(int val) {
        this.val = val;
        System.out.println("set()");
    }

    /**
     * The remove method is annotated so that the container knows
     * it can remove the bean after this method returns.
     */
    @Remove
    public void remove() {
        System.out.println("remove()");
    }

}


File: CountLocal.java

package bean;


import javax.ejb.Local;

@Local
public interface CountLocal  {

    /**
     * Increments the counter by 1
     */
    public int count();

    /**
     * Sets the counter to val
     * @param val
     */
    public void set(int val);

    /**
     * removes the counter
     */
    public void remove();
  }



File: CountRemote.java

package bean;



import javax.ejb.Remote;

@Remote
public interface CountRemote{

  /**
   * Increments the counter by 1
   */
  public int count();

  /**
   * Sets the counter to val
   * @param val
   */
  public void set(int val);

  /**
   * removes the counter
   */
  public void remove();
}





           
       








EJB-StatelessSessionBeanWithThreeMethods.zip( 4,487 k)

Related examples in the same category

1.Throw Exception Out of Ejb Method
2.Use EJB To Mark EJB
3.Use Stateless Session Bean To PersistEntity
4.Use Stateless Annotation To Change Ejb Name
5.EJB Tutorial from JBoss: stateless session bean
6.EJB Tutorial from JBoss: stateless session bean deployment descriptor
7.One Stateless Session Bean Call Another Stateless Bean
8.Mark One Method With Two Lifecycle Annotations
9.EJB Method With Interceptors