是不是初始化Contex不对啊
按道理在JNDI tree里面能看到就一定能找到啊

解决方案 »

  1.   

    但就是找不到呀。而且我把EJB写了好几次了,
      

  2.   

    晕,这是什么问题啊?
    你代码看看
    不应该啊,datasource能找到ejb肯定也能找到
      

  3.   

    但他有这样的异常。
    java.rmi.RemoteException: EJB Exception: ; nested exception is: 
    java.lang.NullPointerException
      

  4.   

    EJB的问题说不清,你的要是不是什么重要的机密,可以给我发过来,我给你调一下
    QQ:278801616
      

  5.   

    我的环境是jbuilerX+weblogic呀。
      

  6.   

    public class ServiceLocator {  private static ServiceLocator instance =null;
      private Logger log=Logger.getLogger("ServiceLocator");
      private InitialContext ctx=null;  public ServiceLocator() {
        try {
          Hashtable ht = new Hashtable();
          ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
          ht.put(Context.PROVIDER_URL, "t3://localhost:7001");
          ht.put(Context.SECURITY_PRINCIPAL, "weblogic");
          ht.put(Context.SECURITY_CREDENTIALS, "weblogic");
          ctx = new InitialContext(ht);
        }
        catch (NamingException ex) {
          log.log(Level.WARNING,ex.getMessage());
        }
      }  /**
       * static function
       * @return ServiceLocator
       */
      public static ServiceLocator getInstance(){
       if( instance==null){
         instance = new ServiceLocator();
       }
       return instance;
     } /**
      *
      * @param jndi String
      * @throws NamingException
      * @return Object
      */
     public Object LookUp(String jndi)throws NamingException{
       System.out.println("this is a test!!!!!!!");
       return ctx.lookup(jndi);
     }}
    public class LEAGUERMaintian_DELEGATE {  LEAGUERMaintian rmiObj;  public LEAGUERMaintian_DELEGATE() throws RemoteException,CreateException,NamingException{
        LEAGUERMaintianHome home=(LEAGUERMaintianHome)ServiceLocator.
            getInstance().LookUp("LEAGUERMaintian");
        rmiObj=home.create();
      }  public void create(LEAGUER obj)throws SQLException,RemoteException{
        rmiObj.createObj(obj);
      }  public void update(LEAGUER obj)throws SQLException,RemoteException{
       rmiObj.updateObj(obj);
      }  public void delete(String temp)throws SQLException,RemoteException{
      rmiObj.deleteObj(temp);
      }}
      

  7.   

    public interface LEAGUERMaintianHome extends EJBHome {
      public LEAGUERMaintian create() throws CreateException, RemoteException;
    }public interface LEAGUERMaintian extends EJBObject {
      public void createObj(LEAGUER obj)throws RemoteException,SQLException;
      public void updateObj(LEAGUER obj)throws RemoteException,SQLException;
      public void deleteObj(String temp)throws RemoteException,SQLException;
    }public class LEAGUERMaintianBean implements SessionBean {
      SessionContext sessionContext;
      Logger log=Logger.getLogger("LEAGUERMaintianBean");  public void ejbCreate() throws CreateException {
      }  public void ejbRemove() {
      }  public void ejbActivate() {
      }  public void ejbPassivate() {
      }  public void setSessionContext(SessionContext sessionContext) {
        this.sessionContext = sessionContext;
      }  public void createObj(LEAGUER obj)throws SQLException{
        try {
          LEAGUERDAO dao=new LEAGUERDAO();
          dao.createLeaguer(obj);
        }
        catch (SQLException ex) {
          log.log(Level.WARNING,ex.getMessage());
          sessionContext.setRollbackOnly();
          throw ex;
        }
      }  public void updateObj(LEAGUER obj)throws SQLException{
        try {
          LEAGUERDAO dao=new LEAGUERDAO();
          dao.updateleaguer(obj);
        }
        catch (SQLException ex) {
          log.log(Level.WARNING,ex.getMessage());
          sessionContext.setRollbackOnly();
          throw ex;
        }
      }  public void deleteObj(String temp)throws SQLException{
          try {
            LEAGUERDAO dao=new LEAGUERDAO();
            dao.deleteleaguer(temp);
          }
          catch (SQLException ex) {
            log.log(Level.WARNING,ex.getMessage());
            sessionContext.setRollbackOnly();
            throw ex;
          }
        }}
      

  8.   

    现在的错误提示是这样的。
     return ctx.lookup(jndi);在这一行有错误,但我在jndi tree中可以看到这个BEAN,我也在这做过测试,可以在这得到datasource
    问题在哪里呀。