तो हालांकि सावधान रहने के बाद और Oracle फोरम से थोड़ी अतिरिक्त सहायता प्राप्त करने के बाद। मैं अंत में समझता हूं कि उपरोक्त संदर्भित कोड त्रुटि संदेश क्यों दे रहा है जो मुझे प्राप्त हो रहा है। प्रतिक्रिया के लिए यहां देखें
चूंकि मैं हर बार लूप के चारों ओर डेटा स्रोत सेट कर रहा हूं, इसलिए मैं अनिवार्य रूप से एक से अधिक पूल बना रहा हूं। ऐसा करने का तरीका, एक पूल बनाना है और उस पूल से कनेक्शन खींचना है। GetOracleConnection
को बदलने के लिए नया कोड मैंने डेटा स्रोत के लिए एक सिंगलटन वर्ग बनाया है और कोड में मैं बस डेटा स्रोत से कनेक्शन पुनर्प्राप्त करता हूं जैसे
Connection conn = Database.getInstance().GetPoolSource().getConnection();
package com.jam.DB;
import oracle.ucp.jdbc.PoolDataSource;
import oracle.ucp.jdbc.PoolDataSourceFactory;
public class Database {
private static Database dbIsntance;
private static PoolDataSource pds;
private Database() {
// private constructor //
}
public static Database getInstance() {
if (dbIsntance == null) {
dbIsntance = new Database();
}
return dbIsntance;
}
public PoolDataSource GetPoolSource() {
if (pds == null) {
pds = PoolDataSourceFactory.getPoolDataSource();
try {
pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
pds.setURL("jdbc:oracle:thin:@//localhost:1521/xe");
pds.setUser("system");
pds.setPassword("xxxx");
pds.setMaxStatements(15);
return pds;
} catch (Exception e) {
}
return pds;
}
return pds;
}
}