Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle JDBC UCP et Java

Donc, après avoir fait attention et obtenu un peu d'aide supplémentaire du forum Oracle. Je comprends enfin pourquoi le code référencé ci-dessus donne le message d'erreur que je reçois. Voir ici pour une réponse Étant donné que je configure la source de données à chaque fois que la boucle tourne, je crée essentiellement plusieurs pools. Pour ce faire, créez un pool et extrayez les connexions de ce pool.Nouveau code pour remplacer le GetOracleConnection J'ai créé une classe singleton pour la source de données et dans le code, je récupère simplement la connexion de la source de données comme telle

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;

  }
}