Package javax.persistence.spi
Class PersistenceProviderResolverHolder.PersistenceProviderResolverPerClassLoader
- java.lang.Object
-
- javax.persistence.spi.PersistenceProviderResolverHolder.PersistenceProviderResolverPerClassLoader
-
- All Implemented Interfaces:
PersistenceProviderResolver
- Enclosing class:
- PersistenceProviderResolverHolder
private static class PersistenceProviderResolverHolder.PersistenceProviderResolverPerClassLoader extends java.lang.Object implements PersistenceProviderResolver
Cache PersistenceProviderResolver per classloader and use the current classloader as a key. Use CachingPersistenceProviderResolver for each PersistenceProviderResolver instance.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classPersistenceProviderResolverHolder.PersistenceProviderResolverPerClassLoader.CachingPersistenceProviderResolverResolve the list of Persistence providers for a given classloader and cache the results.
-
Field Summary
Fields Modifier and Type Field Description private shortbarrierprivate java.util.WeakHashMap<java.lang.ClassLoader,PersistenceProviderResolver>resolvers
-
Constructor Summary
Constructors Modifier Constructor Description privatePersistenceProviderResolverPerClassLoader()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearCachedProviders()Clear cache of providers.private static java.lang.ClassLoadergetContextualClassLoader()java.util.List<PersistenceProvider>getPersistenceProviders()Returns a list of thePersistenceProviderimplementations available in the runtime environment.
-
-
-
Field Detail
-
resolvers
private final java.util.WeakHashMap<java.lang.ClassLoader,PersistenceProviderResolver> resolvers
-
barrier
private volatile short barrier
-
-
Method Detail
-
getPersistenceProviders
public java.util.List<PersistenceProvider> getPersistenceProviders()
Returns a list of thePersistenceProviderimplementations available in the runtime environment.- Specified by:
getPersistenceProvidersin interfacePersistenceProviderResolver- Returns:
- list of the persistence providers available in the environment
-
clearCachedProviders
public void clearCachedProviders()
Clear cache of providers.- Specified by:
clearCachedProvidersin interfacePersistenceProviderResolver
-
getContextualClassLoader
private static java.lang.ClassLoader getContextualClassLoader()
-
-