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 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 ClassesModifier and TypeClassDescriptionprivate static class
Resolve the list of Persistence providers for a given classloader and cache the results. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate short
private final WeakHashMap
<ClassLoader, PersistenceProviderResolver> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Clear cache of providers.private static ClassLoader
Returns a list of thePersistenceProvider
implementations available in the runtime environment.
-
Field Details
-
resolvers
-
barrier
private volatile short barrier
-
-
Constructor Details
-
PersistenceProviderResolverPerClassLoader
private PersistenceProviderResolverPerClassLoader()
-
-
Method Details
-
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
-