Ich habe ein eigenständiges Java-Programm [Keine Anwendungsserver/-sitzung beteiligt] mit Oracle DB-Verbindung und BoneCP. Ich muss verschiedene Abfragen von verschiedenen Methoden ausführen, und ich möchte nicht, dass die DB-Verbindung/der Pool bei jedem Aufruf erstellt wird.Wiederverwendung der BoneCP-Verbindung im eigenständigen Java-Programm
Ich habe eine DBManager-Klasse, in der der Verbindungspool erstellt wird. Ich würde gerne wissen, wie genau ich das Verbindungsobjekt wiederverwenden kann, das erstellt wurde, um mehrere Abfragen von verschiedenen Klassen/Methoden auszuführen.
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
Wenn ich das Objekt dieser Klasse aufrufen/auch wenn es eine statische Klasse ist, wird der CP nicht jedes Mal erstellt? Kann ich genau das Verbindungsobjekt wiederverwenden, indem ich die Verbindung nur einmal erstelle?
Vielen Dank im Voraus.
Ich gerade sah https://stackoverflow.com/questions/6944810/using-bonecp-handling-connections-from-the-pool?rq=1 "verwandte Frage. Aber ich wollte nur, wenn der richtige Weg zu bestätigen ist es, meine Klasse als Singleton oder andere bessere Optionen zu verwenden. –