Stateless Session Bean With Three Methods

Submitted by:Pitter Alderson

Date added:05 March, 2012

Category:Java

A Java example for Stateless Session Bean With Three Methods

Tags: stateless session

Code Snippet:

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();
}
 
 

Comments