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 class
PersistenceProviderResolverHolder.PersistenceProviderResolverPerClassLoader.CachingPersistenceProviderResolver
Resolve the list of Persistence providers for a given classloader and cache the results.
-
Field Summary
Fields Modifier and Type Field Description private short
barrier
private java.util.WeakHashMap<java.lang.ClassLoader,PersistenceProviderResolver>
resolvers
-
Constructor Summary
Constructors Modifier Constructor Description private
PersistenceProviderResolverPerClassLoader()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearCachedProviders()
Clear cache of providers.private static java.lang.ClassLoader
getContextualClassLoader()
java.util.List<PersistenceProvider>
getPersistenceProviders()
Returns a list of thePersistenceProvider
implementations 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 thePersistenceProvider
implementations available in the runtime environment.- Specified by:
getPersistenceProviders
in interfacePersistenceProviderResolver
- Returns:
- list of the persistence providers available in the environment
-
clearCachedProviders
public void clearCachedProviders()
Clear cache of providers.- Specified by:
clearCachedProviders
in interfacePersistenceProviderResolver
-
getContextualClassLoader
private static java.lang.ClassLoader getContextualClassLoader()
-
-