Jadi setelah berhati-hati dan mendapatkan sedikit bantuan ekstra dari forum Oracle. Saya akhirnya mengerti mengapa kode referensi di atas memberikan pesan kesalahan yang saya terima. Lihat Di Sini Untuk Tanggapan
Karena saya menyetel sumber data setiap kali loop berputar, pada dasarnya saya membuat lebih dari satu kumpulan. Cara untuk melakukan ini, adalah membuat satu kumpulan dan kemudian menarik koneksi dari kumpulan itu. Kode baru untuk menggantikan GetOracleConnection
Saya membuat kelas tunggal untuk sumber data dan dalam kode saya cukup mengambil koneksi dari sumber data seperti
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;
}
}