code: private void createPoolManager(AbstractConnectionFactoryService svc) throws ResourceException {
          final boolean trace = TraceComponent.isAnyTracingEnabled();
          if (trace && tc.isEntryEnabled())
              Tr.entry(this, tc, "createPoolManager", svc, properties);
  
          J2CGlobalConfigProperties gConfigProps = processServerPoolManagerProperties(svc, properties);
  
          pm = new PoolManager(svc, null, // dsProps=null misses out on nondeferredreaper, but we don't have that anyways
                          gConfigProps, raClassLoader);
  
          if (bndCtx == null)
              bndCtx = priv.getBundleContext(FrameworkUtil.getBundle(getClass()));
  
          try {
              pmMBean = new PoolManagerMBeanImpl(pm, svc.getFeatureVersion());
              pmMBean.register(bndCtx);
          } catch (MalformedObjectNameException e) {
              pmMBean = null;
              throw new ResourceException(e);
          }
  
          if (trace && tc.isEntryEnabled())
              Tr.exit(this, tc, "createPoolManager", this);
      }
docs: Create and initialize the connection manager/pool configuration
  based on the connection factory configuration.
  Precondition: invoker must have the write lock for this connection manager service.
  
  @param svc the connection factory service
  @throws ResourceException if an error occurs