jpa/subsystem/src/main/java/org/jboss/as/jpa/processor/PersistenceProviderAdaptorLoader.java
public static PersistenceProviderAdaptor loadPersistenceAdapter(final PersistenceProvider persistenceProvider, final Platform platform, final JtaManagerImpl jtaManager) {
        PersistenceProviderAdaptor persistenceProviderAdaptor=null;

        final ServiceLoader<PersistenceProviderAdaptor> serviceLoader =
                ServiceLoader.load(PersistenceProviderAdaptor.class, persistenceProvider.getClass().getClassLoader());

        if (serviceLoader != null) {
            for (PersistenceProviderAdaptor adaptor : serviceLoader) {
                if (persistenceProviderAdaptor != null) {
                    throw JpaLogger.ROOT_LOGGER.classloaderHasMultipleAdapters(persistenceProvider.getClass().getClassLoader().toString());
                }
                persistenceProviderAdaptor = adaptor;
                ROOT_LOGGER.debugf("loaded persistence provider adapter %s from classloader %s",
                        persistenceProviderAdaptor.getClass().getName(),
                        persistenceProvider.getClass().getClassLoader().toString());
            }
            if (persistenceProviderAdaptor != null) {
                persistenceProviderAdaptor.injectJtaManager(jtaManager);
                persistenceProviderAdaptor.injectPlatform(platform);
            }
        }

        return persistenceProviderAdaptor == null ?
                noopAdaptor:
                persistenceProviderAdaptor;
    }
public static PersistenceProviderAdaptor loadPersistenceAdapter(final PersistenceProvider persistenceProvider, final Platform platform, final JtaManagerImpl jtaManager) {
        PersistenceProviderAdaptor persistenceProviderAdaptor=null;

        final ServiceLoader<PersistenceProviderAdaptor> serviceLoader =
                ServiceLoader.load(PersistenceProviderAdaptor.class, persistenceProvider.getClass().getClassLoader());

        if (serviceLoader != null) {
            for (PersistenceProviderAdaptor adaptor : serviceLoader) {
                if (persistenceProviderAdaptor != null) {
                    throw JpaLogger.ROOT_LOGGER.classloaderHasMultipleAdapters(persistenceProvider.getClass().getClassLoader().toString());
                }
                persistenceProviderAdaptor = adaptor;
                ROOT_LOGGER.debugf("loaded persistence provider adapter %s from classloader %s",
                        persistenceProviderAdaptor.getClass().getName(),
                        persistenceProvider.getClass().getClassLoader().toString());
            }
            if (persistenceProviderAdaptor != null) {
                persistenceProviderAdaptor.injectJtaManager(jtaManager);
                persistenceProviderAdaptor.injectPlatform(platform);
            }
        }

        return persistenceProviderAdaptor == null ?
                noopAdaptor:
                persistenceProviderAdaptor;
    }
public static PersistenceProviderAdaptor loadPersistenceAdapter ( final PersistenceProvider persistenceProvider , final Platform platform , final JtaManagerImpl jtaManager ) { PersistenceProviderAdaptor persistenceProviderAdaptor = null ; final ServiceLoader < PersistenceProviderAdaptor > serviceLoader = ServiceLoader . load ( PersistenceProviderAdaptor . class , persistenceProvider . getClass ( ) . getClassLoader ( ) ) ; if ( serviceLoader != null ) { for ( PersistenceProviderAdaptor adaptor : serviceLoader ) { if ( persistenceProviderAdaptor != null ) { throw JpaLogger . ROOT_LOGGER . classloaderHasMultipleAdapters ( persistenceProvider . getClass ( ) . getClassLoader ( ) . toString ( ) ) ; } persistenceProviderAdaptor = adaptor ; ROOT_LOGGER . debugf ( "loaded persistence provider adapter %s from classloader %s" , persistenceProviderAdaptor . getClass ( ) . getName ( ) , persistenceProvider . getClass ( ) . getClassLoader ( ) . toString ( ) ) ; } if ( persistenceProviderAdaptor != null ) { persistenceProviderAdaptor . injectJtaManager ( jtaManager ) ; persistenceProviderAdaptor . injectPlatform ( platform ) ; } } return persistenceProviderAdaptor == null ? noopAdaptor : persistenceProviderAdaptor ; }
Loads the persistence provider adapter

@param persistenceProvider classloader will be used to load the persistence provider adapter
@return the persistence provider adaptor for the provider class
Loads the persistence provider adapter