protected Connection getConnection ( ConnectionRequestInfo connInfo ) throws SQLException { final boolean isTraceOn = TraceComponent . isAnyTracingEnabled ( ) ; if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . entry ( this , tc , "getConnection" , AdapterUtil . toString ( connInfo ) ) ; // Perform wrapper initialization in the common getConnection method. Check for // connection errors on initialization. WSJdbcConnection connWrapper ; try // get a Connection { connWrapper = ( WSJdbcConnection ) cm . allocateConnection ( mcf , connInfo ) ; } // Allow AdapterUtil to convert ConnectionWaitTimeoutExceptions for us. catch ( ResourceException resX ) { FFDCFilter . processException ( resX , "com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection" , "299" , this ) ; SQLException x = AdapterUtil . toSQLException ( resX ) ; if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . exit ( this , tc , "getConnection" , "Exception" ) ; throw x ; } try // to initialize the connection. { connWrapper . initialize ( cm ) ; } catch ( SQLException sqlX ) { FFDCFilter . processException ( sqlX , "com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection" , "280" , this ) ; sqlX = WSJdbcUtil . mapException ( connWrapper , sqlX ) ; if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . exit ( this , tc , "getConnection" , sqlX ) ; throw sqlX ; } // create dynamic proxy for vendor interfaces Connection c = dsConfig . get ( ) . enableConnectionCasting ? connWrapper . getCastableWrapper ( vendorConnectionInterfaces ) : connWrapper ; if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . exit ( this , tc , "getConnection" , c ) ; return c ; }
This is the common getConnection implementation used by the other getConnection methods . This method handles the connection request to the CM and related exceptions including the ConnectionWaitTimeoutException . Exceptions thrown by the CM are converted to SQLExceptions .