code: @Override
      public void start(BundleContext ctx) throws Exception {
          // Call the base EclipseLink provider to register it within the service registry
          // There is currently a bug in the base class where it registers the provider name
          // using the incorrect property.  This prevents the service locator from finding
          // more than one JPA provider.  For now, register the EclipseLink provider here instead of
          // calling super to do the registration.
          // super.start(ctx);
  
          // Register the EclipseLink provider
          PersistenceProvider provider = new org.eclipse.persistence.jpa.PersistenceProvider();
          Hashtable<String, Object> props = new Hashtable<String, Object>();
          props.put(PERSISTENCE_PROVIDER, EL_OSGI_PERSISTENCE_PROVIDER);
          props.put("javax.persistence.provider", EL_OSGI_PERSISTENCE_PROVIDER);
          props.put("osgi.jpa.provider.version", "1.3.0");
          props.put(JPA_WEAVING_PACKAGES, JPA_PACKAGES);
          elSvcReg = ctx.registerService(PERSISTENCE_PROVIDER, provider, props);
      }
docs: /*
  Registers the EclipseLink provider in the OSGi service registry.
  
  @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)