J'ai un programme Java autonome [Pas de serveur d'application/session impliqué] utilisant la connexion Oracle DB et BoneCP. J'ai besoin d'exécuter différentes requêtes à partir de différentes méthodes et je ne veux pas que la connexion DB/pool soit créée dans chaque appel.Réutilisation de la connexion BoneCP dans un programme Java autonome
J'ai une classe DBManager dans laquelle le pool de connexions est créé. Je voudrais savoir exactement comment je peux réutiliser l'objet de connexion créé pour exécuter des requêtes mutiples de différentes classes/méthodes.
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (Exception e) {
e.printStackTrace();
return;
}
try {
// setup the connection pool
BoneCPConfig config = new BoneCPConfig();
config.setJdbcUrl("jdbc:oracle:thin:@"+prop.getProperty(DB_HOST)+":"+prop.getProperty(DB_PORT)+":"+prop.getProperty(DB_INSTANCE)); // jdbc url specific to your database, eg jdbc:mysql://127.0.0.1/yourdb
config.setUsername(prop.getProperty(APP_DB_USER));
config.setPassword(prop.getProperty(APP_DB_PWD));
config.setMinConnectionsPerPartition(5);
config.setMaxConnectionsPerPartition(10);
config.setPartitionCount(1);
connectionPool = new BoneCP(config); // setup the connection pool
connection = connectionPool.getConnection(); // fetch a connection
Si j'appelle l'objet de cette classe/même si c'est une classe statique, le CP ne sera-t-il pas créé à chaque fois? Hoew exactement je peux réutiliser l'objet de connexion en créant la connexion seulement une fois?
Merci d'avance.
Je viens de voir https://stackoverflow.com/questions/6944810/using-bonecp-handling-connections-from-the-pool?rq=1 "question connexe, mais je voulais juste confirmer si la bonne façon est d'utiliser ma classe comme un singleton ou d'autres meilleures options sont là. –