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

解决方案 »

  1.   

    这是会话bean里的一个方法 
    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;  }}