code: @Override
      public void destroyConnectionFactories() {
          final boolean trace = TraceComponent.isAnyTracingEnabled();
          if (trace && tc.isEntryEnabled()) {
              final String pmName;
              if (pm != null)
                  pmName = pm.getUniqueId();
              else
                  pmName = "factory name not avaiable";
              Tr.entry(this, tc, "destroyConnectionFactories", pmName);
          }
  
          lock.writeLock().lock();
          try {
              if (pmMBean != null) {
                  pmMBean.unregister();
                  pmMBean = null;
              }
              if (pm != null) {
                  try {
                      pm.serverShutDown();
                      pm = null;
                      cfKeyToCM.clear();
                  } catch (Throwable x) {
                      FFDCFilter.processException(x, getClass().getName(), "263", this);
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                          Tr.debug(this, tc, x.getMessage(), CommonFunction.stackTraceToString(x));
                  }
              }
          } finally {
              lock.writeLock().unlock();
          }
          if (trace && tc.isEntryEnabled())
              Tr.exit(this, tc, "destroyConnectionFactories");
      }
docs: Destroy all connection factories that are using this connection manager service.
  
  @param svc the connection factory service.
  @throws InstanceNotFoundException
  @throws MBeanRegistrationException