protected void lockedStart() throws Exception {
    super.lockedStart();
    this.registerWithAopDispatcher();

    // Obtain registrar
    JndiSessionRegistrarBase registrar = this.getJndiRegistrar();

    // Bind all appropriate references/factories to Global JNDI for Client access, if a JNDI
    // Registrar is present
    if (registrar != null) {
      String guid = Ejb3Registry.guid(this);
      registrar.bindEjb(
          this.getInitialContext(),
          this.getMetaData(),
          this.getClassloader(),
          this.getObjectName().getCanonicalName(),
          guid,
          this.getAdvisor());
    } else {
      log.warn(
          "No "
              + JndiSessionRegistrarBase.class.getSimpleName()
              + " was found; byassing binding of Proxies to "
              + this.getName()
              + " in Global JNDI.");
    }
  }