/** * {@inheritDoc} */ public List<PersistenceProvider> getPersistenceProviders() { ClassLoader cl = getContextualClassLoader(); if ( barrier == 1 ) {} //read barrier syncs state with other threads PersistenceProviderResolver currentResolver = resolvers.get( cl ); if ( currentResolver == null ) { currentResolver = new CachingPersistenceProviderResolver( cl ); resolvers.put( cl, currentResolver ); barrier = 1; } return currentResolver.getPersistenceProviders(); }
/** * {@inheritDoc} */ public synchronized void clearCachedProviders() { synchronized ( resolverClasses ) { resolverClasses.clear(); loadResolverClasses( PersistenceProviderResolverPerClassLoader.getContextualClassLoader() ); } }
InputStream is = url.openStream(); try { names.addAll( providerNamesFromReader( new BufferedReader( new InputStreamReader( is ) ) ) );
InputStream is = url.openStream(); try { names.addAll( providerNamesFromReader( new BufferedReader( new InputStreamReader( is ) ) ) );
/** * {@inheritDoc} */ public List<PersistenceProvider> getPersistenceProviders() { ClassLoader cl = getContextualClassLoader(); if ( barrier == 1 ) {} //read barrier syncs state with other threads PersistenceProviderResolver currentResolver = resolvers.get( cl ); if ( currentResolver == null ) { currentResolver = new CachingPersistenceProviderResolver( cl ); resolvers.put( cl, currentResolver ); barrier = 1; } return currentResolver.getPersistenceProviders(); }
/** * {@inheritDoc} */ public synchronized void clearCachedProviders() { synchronized ( resolverClasses ) { resolverClasses.clear(); loadResolverClasses( PersistenceProviderResolverPerClassLoader.getContextualClassLoader() ); } }
public CachingPersistenceProviderResolver(ClassLoader cl) { loadResolverClasses( cl ); }
public CachingPersistenceProviderResolver(ClassLoader cl) { loadResolverClasses( cl ); }