javax.naming.Context ctx = new javax.naming.InitialContext();
Object objref = ctx.lookup("spnet/ApplyMain");
Home home = (Home) javax.rmi.PortableRemoteObject.narrow(
objref, Home.class);
Bean bean = home.findByPrimaryKey(key);
Object objref = ctx.lookup("spnet/ApplyMain");
Home home = (Home) javax.rmi.PortableRemoteObject.narrow(
objref, Home.class);
Bean bean = home.findByPrimaryKey(key);
StaffInfoHome 是实体bean 的home 接口。
StaffInfo 是远程接口,暴露商业方法
public boolean delStaffInfo(int staffInfoID) {
try {
EJBServiceLocator localtor = new EJBServiceLocator();
String stafJndi = JNDINames.STAFFINFO;
StaffInfoHome staffInfoHome = (StaffInfoHome) localtor.getLocalHome(
stafJndi, StaffInfoHome.class);
StaffInfo dc = staffInfoHome.findByPrimaryKey(new Integer(staffInfoID));
dc.remove();
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
下面是得到接口的方法public class EJBServiceLocator {
private InitialContext ic;
public EJBServiceLocator() {
try{
ic = new InitialContext();
}catch(NamingException ne){
//throw new ServiceLocatorException(ne);
}catch(Exception e){
// throw new ServiceLocatorException(e);
}
}
public EJBLocalHome getLocalHome(String name,Class className){
EJBLocalHome home = null;
try{
Object obje = ic.lookup(name);
Object obj = PortableRemoteObject.narrow(obje,className);
home = (EJBLocalHome)obj; }catch (Exception e) {
e.printStackTrace();
return null;
}
return home;
}public EJBHome getRemoteHome(String name,Class className){ EJBHome home = null;
try{ Object objref = ic.lookup(name);
Object obj = PortableRemoteObject.narrow(objref,className);
home = (EJBHome)obj;
}catch (Exception e) {
e.printStackTrace();
return null;
}
return home; } public DataSource getDataSource(){
DataSource dataSource = null;
try{
dataSource = (DataSource)ic.lookup("DataSource"); }catch(Exception e){
e.printStackTrace(); }
return dataSource; }}