package org.jfox.ejb.examples.protocol;
import java.rmi.RemoteException;
import javax.ejb.EJBException;
import javax.ejb.SessionContext;
import javax.ejb.CreateException;
import javax.ejb.SessionBean;
import javax.naming.Context;
import javax.naming.InitialContext;
import org.jfox.ejb.examples.stateful.WorldHome;
import org.jfox.ejb.examples.stateful.World;
import org.jfox.ejb.ExtendedEJBHome;
public class HelloBean implements SessionBean {
private int count = 0;
public HelloBean() {
}
public String getVoice() throws RemoteException {
count++;
return "Hello,World";
}
public int getCount() throws RemoteException {
return count;
}
public String getWordByLocal() throws RemoteException {
try {
Context ctx = new InitialContext();
Object obj = ctx.lookup("" + WorldHome.class.getName().replace('.','/'));
WorldHome home = (WorldHome)javax.rmi.PortableRemoteObject.narrow(obj,WorldHome.class);
((ExtendedEJBHome)home).useProtocol("LOCAL"); World world = home.create();
return world.getWord();
}
catch(Exception e){
throw new RemoteException(e.getMessage(),e);
}
}
public String getWordByJRMP() throws RemoteException {
try {
Context ctx = new InitialContext();
Object obj = ctx.lookup("" + WorldHome.class.getName().replace('.','/'));
WorldHome home = (WorldHome)javax.rmi.PortableRemoteObject.narrow(obj,WorldHome.class);
((ExtendedEJBHome)home).useProtocol("JRMP"); World world = home.create();
return world.getWord();
}
catch(Exception e){
throw new RemoteException(e.getMessage(),e);
}
}
public void ejbCreate() throws CreateException, RemoteException {
}
public void setSessionContext(SessionContext sessioncontext) throws EJBException {
}
public void ejbRemove() throws EJBException, RemoteException {
}
public void ejbActivate() throws EJBException, RemoteException {
}
public void ejbPassivate() throws EJBException, RemoteException {
}
}