ejb3/src/main/java/org/jboss/as/ejb3/iiop/EjbIIOPService.java
public static synchronized void rebind(final NamingContextExt ctx, final String strName, final org.omg.CORBA.Object obj) throws Exception {
        final NameComponent[] name = ctx.to_name(strName);
        NamingContext intermediateCtx = ctx;


        for (int i = 0; i < name.length - 1; i++) {
            final NameComponent[] relativeName = new NameComponent[]{name[i]};
            try {
                intermediateCtx = NamingContextHelper.narrow(
                        intermediateCtx.resolve(relativeName));
            } catch (NotFound e) {
                intermediateCtx = intermediateCtx.bind_new_context(relativeName);
            }
        }
        intermediateCtx.rebind(new NameComponent[]{name[name.length - 1]}, obj);
    }
public static synchronized void rebind(final NamingContextExt ctx, final String strName, final org.omg.CORBA.Object obj) throws Exception {
        final NameComponent[] name = ctx.to_name(strName);
        NamingContext intermediateCtx = ctx;


        for (int i = 0; i < name.length - 1; i++) {
            final NameComponent[] relativeName = new NameComponent[]{name[i]};
            try {
                intermediateCtx = NamingContextHelper.narrow(
                        intermediateCtx.resolve(relativeName));
            } catch (NotFound e) {
                intermediateCtx = intermediateCtx.bind_new_context(relativeName);
            }
        }
        intermediateCtx.rebind(new NameComponent[]{name[name.length - 1]}, obj);
    }
public static synchronized void rebind ( final NamingContextExt ctx , final String strName , final org . omg . CORBA . Object obj ) throws Exception { final NameComponent [ ] name = ctx . to_name ( strName ) ; NamingContext intermediateCtx = ctx ; for ( int i = 0 ; i < name . length - 1 ; i ++ ) { final NameComponent [ ] relativeName = new NameComponent [ ] { name [ i ] } ; try { intermediateCtx = NamingContextHelper . narrow ( intermediateCtx . resolve ( relativeName ) ) ; } catch ( NotFound e ) { intermediateCtx = intermediateCtx . bind_new_context ( relativeName ) ; } } intermediateCtx . rebind ( new NameComponent [ ] { name [ name . length - 1 ] } , obj ) ; }
(Re)binds an object to a name in a given CORBA naming context, creating
any non-existent intermediate contexts along the way.
<p/>
This method is synchronized on the class object, if multiple services attempt to bind the
same context name at once it will fail

@param ctx     a reference to the COSNaming service.
@param strName the name under which the CORBA object is to be bound.
@param obj     the CORBA object to be bound.
@throws Exception if an error occurs while binding the object.
( Re ) binds an object to a name in a given CORBA naming context creating any non - existent intermediate contexts along the way . <p / > This method is synchronized on the class object if multiple services attempt to bind the same context name at once it will fail