/** * {@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 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 void clearCachedProviders() { // todo : should we clear all providers from all resolvers here? ClassLoader cl = getContextualClassLoader(); if ( barrier == 1 ) {} //read barrier syncs state with other threads PersistenceProviderResolver currentResolver = resolvers.get( cl ); if ( currentResolver != null ) { currentResolver.clearCachedProviders(); } }
/** * {@inheritDoc} */ public void clearCachedProviders() { // todo : should we clear all providers from all resolvers here? ClassLoader cl = getContextualClassLoader(); if ( barrier == 1 ) {} //read barrier syncs state with other threads PersistenceProviderResolver currentResolver = resolvers.get( cl ); if ( currentResolver != null ) { currentResolver.clearCachedProviders(); } }