public EJBHome getEJBHome() throws RemoteException
    {
        // When ivActualVersion is Constant.HOME_HANDLE_V1, ivEjbHome may
        // be null. So if this happens, we need to find the EJBHome object
        // by doing a lookup in JNDI. For all other versions, ivEjbHome
        // should never be null.
        if (ivEjbHome == null)
        {
            try
            {
                Class homeClass = null;
                try
                {
                    //
                    // If we are running on the server side, then the thread
                    // context loader would have been set appropriately by
                    // the container. If running on a client, then check the
                    // thread context class loader first
                    //
                    ClassLoader cl = Thread.currentThread().getContextClassLoader();
                    if (cl != null)
                    {
                        homeClass = cl.loadClass(ivHomeInterface);
                    }
                    else
                    {
                        throw new ClassNotFoundException();
                    }
                } catch (ClassNotFoundException ex)
                {
                    // FFDCFilter.processException(ex, CLASS_NAME + ".getEJBHome", "131", this);
                    try
                    {
                        homeClass = Class.forName(ivHomeInterface);
                    } catch (ClassNotFoundException e)
                    {
                        // FFDCFilter.processException(e, CLASS_NAME + ".getEJBHome",
                        //                             "138", this);
                        throw new ClassNotFoundException(ivHomeInterface);
                    }
                }

                InitialContext ctx = null;
                try
                {
                    // Locate the home
                    //91851 begin
                    if (this.ivInitialContextProperties == null)
                    {
                        ctx = new InitialContext();
                    }
                    else
                    {
                        try
                        {
                            ctx = new InitialContext(ivInitialContextProperties);
                        } catch (NamingException ne)
                        {
                            // FFDCFilter.processException(ne, CLASS_NAME + ".getEJBHome",
                            //                             "161", this);
                            ctx = new InitialContext();
                        }
                    }
                    //91851 end
                    ivEjbHome = (EJBHome) PortableRemoteObject.narrow(ctx.lookup(ivJndiName)
                                                                      , homeClass);
                } catch (NoInitialContextException e)
                {
                    // FFDCFilter.processException(e, CLASS_NAME + ".getEJBHome", "172", this);
                    java.util.Properties p = new java.util.Properties();
                    p.put(Context.INITIAL_CONTEXT_FACTORY
                          , "com.ibm.websphere.naming.WsnInitialContextFactory");
                    ctx = new InitialContext(p);
                    ivEjbHome = (EJBHome) PortableRemoteObject.narrow(ctx.lookup(ivJndiName)
                                                                      , homeClass);
                }
            } catch (NamingException e)
            {
                // Problem looking up the home
                // FFDCFilter.processException(e, CLASS_NAME + ".getEJBHome", "184", this);
                RemoteException re = new NoSuchObjectException("Could not find home in JNDI");
                re.detail = e;
                throw re;
            } catch (ClassNotFoundException e)
            {
                // We couldn't find the home interface's class
                // FFDCFilter.processException(e, CLASS_NAME + ".getEJBHome", "192", this);
                throw new RemoteException("Could not load home interface", e);
            }

        }

        return ivEjbHome;
    }
public EJBHome getEJBHome ( ) throws RemoteException { if ( ivEjbHome == null ) { try { Class homeClass = null ; try { ClassLoader cl = Thread . currentThread ( ) . getContextClassLoader ( ) ; if ( cl != null ) { homeClass = cl . loadClass ( ivHomeInterface ) ; } else { throw new ClassNotFoundException ( ) ; } } catch ( ClassNotFoundException ex ) { try { homeClass = Class . forName ( ivHomeInterface ) ; } catch ( ClassNotFoundException e ) { throw new ClassNotFoundException ( ivHomeInterface ) ; } } InitialContext ctx = null ; try { if ( this . ivInitialContextProperties == null ) { ctx = new InitialContext ( ) ; } else { try { ctx = new InitialContext ( ivInitialContextProperties ) ; } catch ( NamingException ne ) { ctx = new InitialContext ( ) ; } } ivEjbHome = ( EJBHome ) PortableRemoteObject . narrow ( ctx . lookup ( ivJndiName ) , homeClass ) ; } catch ( NoInitialContextException e ) { java . util . Properties p = new java . util . Properties ( ) ; p . put ( Context . INITIAL_CONTEXT_FACTORY , "com.ibm.websphere.naming.WsnInitialContextFactory" ) ; ctx = new InitialContext ( p ) ; ivEjbHome = ( EJBHome ) PortableRemoteObject . narrow ( ctx . lookup ( ivJndiName ) , homeClass ) ; } } catch ( NamingException e ) { RemoteException re = new NoSuchObjectException ( "Could not find home in JNDI" ) ; re . detail = e ; throw re ; } catch ( ClassNotFoundException e ) { throw new RemoteException ( "Could not load home interface" , e ) ; } } return ivEjbHome ; }
Return <code>EJBHome</code> reference for this HomeHandle. <p>