c3p0

2011-04-22 15 views
10

में कनेक्शन कैसे वापस करें I c3p0 - comboPooledDataSource का उपयोग कर रहा हूं। मैं नीचे एक बार शुरू कर रहा हूँ।c3p0

private void init() { 
cpds = new ComboPooledDataSource(); 
cpds.setDriverClass(driverName); 
cpds.setJdbcUrl(url); 
cpds.setUser(userName); 
cpds.setPassword(pwd); 
} 

मैं

public synchronized Connection getLocalConnection(String ipAddr) 
    throws SQLException { 
return cpds.getConnection(); 
} 

नीचे के रूप में पूल से एक कनेक्शन हो रही है लेकिन मुझे यकीन है कि इसकी सही तरीके से जब मैं एक प्रश्न को क्रियान्वित समाप्त पूल के लिए वापस कनेक्शन वापस करने के लिए है कि क्या नहीं कर रहा हूँ। मुझे लगता है कि

conn.close() 

कनेक्शन को वास्तव में बंद करने के बजाय बस पूल पर कनेक्शन वापस कर देता है। क्या मैं सही हूं या आसपास कोई और तरीका है? Pls मदद करते हैं।

उत्तर

6

इस कोड

private DataSource init() { 

    DataSource unpooled = DataSources.unpooledDataSource(DB_URL, DB_USERNAME, DB_PASSWORD); 

    Map<String, Object> overrideProps = new HashMap<String, Object>(); 

    overrideProps.put("maxPoolSize", MAX_POOL_SIZE); 
    overrideProps.put("minPoolSize", MIN_POOL_SIZE); 

    return DataSources.pooledDataSource(unpooled, overrideProps); 
} 

आरंभ कर रहा है और आप डेटास्रोत से कनेक्शन मिलता है।

public Connection getConnection() throws SQLException { 
    return dataSource.getConnection(); 
} 

और कनेक्शन को बंद करने के लिए बस बंद() विधि को कॉल करें।

connection.close(); 
संबंधित मुद्दे