[Minor] Adding deregister of PostgreSQL driver

This commit is contained in:
Robert von Burg 2016-02-27 16:12:49 +01:00
parent 041e506b45
commit a507c00015
1 changed files with 10 additions and 2 deletions

View File

@ -22,12 +22,15 @@ import static ch.eitchnet.db.DbConstants.PROP_ALLOW_SCHEMA_MIGRATION;
import static li.strolch.agent.api.RealmHandler.SYSTEM_USER_DB_INITIALIZER; import static li.strolch.agent.api.RealmHandler.SYSTEM_USER_DB_INITIALIZER;
import java.sql.Connection; import java.sql.Connection;
import java.sql.DriverManager;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import javax.sql.DataSource; import javax.sql.DataSource;
import org.postgresql.Driver;
import ch.eitchnet.db.DbMigrationState; import ch.eitchnet.db.DbMigrationState;
import ch.eitchnet.db.DbSchemaVersionCheck; import ch.eitchnet.db.DbSchemaVersionCheck;
import ch.eitchnet.privilege.model.Certificate; import ch.eitchnet.privilege.model.Certificate;
@ -57,6 +60,8 @@ public class PostgreSqlPersistenceHandler extends StrolchComponent implements Pe
public static final String SCRIPT_PREFIX = "strolch"; //$NON-NLS-1$ public static final String SCRIPT_PREFIX = "strolch"; //$NON-NLS-1$
private Map<String, DataSource> dsMap; private Map<String, DataSource> dsMap;
private Driver driver;
public PostgreSqlPersistenceHandler(ComponentContainer container, String componentName) { public PostgreSqlPersistenceHandler(ComponentContainer container, String componentName) {
super(container, componentName); super(container, componentName);
} }
@ -64,8 +69,8 @@ public class PostgreSqlPersistenceHandler extends StrolchComponent implements Pe
@Override @Override
public void initialize(ComponentConfiguration componentConfiguration) throws Exception { public void initialize(ComponentConfiguration componentConfiguration) throws Exception {
// server loader does not seem to work in all contexts, thus: this.driver = new Driver();
org.postgresql.Driver.getLogLevel(); DriverManager.registerDriver(this.driver);
DbConnectionBuilder connectionBuilder = new PostgreSqlDbConnectionBuilder(getContainer(), DbConnectionBuilder connectionBuilder = new PostgreSqlDbConnectionBuilder(getContainer(),
componentConfiguration); componentConfiguration);
@ -123,6 +128,9 @@ public class PostgreSqlPersistenceHandler extends StrolchComponent implements Pe
} }
} }
if (this.driver != null)
DriverManager.deregisterDriver(this.driver);
super.destroy(); super.destroy();
} }