1 23 24 package com.sun.enterprise.connectors; 25 26 import javax.resource.spi.ConnectionManager ; 27 import java.util.logging.Logger ; 28 import java.util.logging.Level ; 29 import com.sun.logging.LogDomains; 30 31 34 35 public class ConnectionManagerFactory { 36 37 38 public static ConnectionManager getAvailableConnectionManager( 39 String poolName, boolean forceNoLazyAssoc) 40 throws ConnectorRuntimeException 41 { 42 43 Logger _logger = LogDomains.getLogger( LogDomains.RSR_LOGGER ); 44 45 ConnectorRegistry registry = ConnectorRegistry.getInstance(); 46 PoolMetaData pmd = registry.getPoolMetaData( poolName ); 47 boolean isLazyEnlist = pmd.isLazyEnlistable(); 48 boolean isLazyAssoc = pmd.isLazyAssociatable(); 49 50 ConnectionManagerImpl mgr = null; 51 52 if ( isLazyAssoc && !forceNoLazyAssoc ) { 53 if (_logger.isLoggable( Level.FINE) ) { 54 _logger.fine( 55 "@@@@ Creating LazyAssociatableConnectionManager"); 56 } 57 mgr = new LazyAssociatableConnectionManagerImpl(poolName); 58 } else if ( isLazyEnlist ) { 59 if (_logger.isLoggable( Level.FINE) ) { 60 _logger.fine( 61 "@@@@ Creating LazyEnlistableConnectionManager"); 62 } 63 mgr = new LazyEnlistableConnectionManagerImpl(poolName); 64 } else { 65 if (_logger.isLoggable( Level.FINE) ) { 66 _logger.fine( 67 "@@@@ Creating plain ConnectionManager"); 68 } 69 mgr = new ConnectionManagerImpl(poolName); 70 } 71 return mgr; 72 } 73 74 } 75 | Popular Tags |