From a507c00015fb566703468318198243b8fa1dfdb5 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Sat, 27 Feb 2016 16:12:49 +0100 Subject: [PATCH] [Minor] Adding deregister of PostgreSQL driver --- .../postgresql/PostgreSqlPersistenceHandler.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/li.strolch.persistence.postgresql/src/main/java/li/strolch/persistence/postgresql/PostgreSqlPersistenceHandler.java b/li.strolch.persistence.postgresql/src/main/java/li/strolch/persistence/postgresql/PostgreSqlPersistenceHandler.java index 7a3b3fc2f..fcc3c6002 100644 --- a/li.strolch.persistence.postgresql/src/main/java/li/strolch/persistence/postgresql/PostgreSqlPersistenceHandler.java +++ b/li.strolch.persistence.postgresql/src/main/java/li/strolch/persistence/postgresql/PostgreSqlPersistenceHandler.java @@ -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 java.sql.Connection; +import java.sql.DriverManager; import java.text.MessageFormat; import java.util.Map; import java.util.Map.Entry; import javax.sql.DataSource; +import org.postgresql.Driver; + import ch.eitchnet.db.DbMigrationState; import ch.eitchnet.db.DbSchemaVersionCheck; 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$ private Map dsMap; + private Driver driver; + public PostgreSqlPersistenceHandler(ComponentContainer container, String componentName) { super(container, componentName); } @@ -64,8 +69,8 @@ public class PostgreSqlPersistenceHandler extends StrolchComponent implements Pe @Override public void initialize(ComponentConfiguration componentConfiguration) throws Exception { - // server loader does not seem to work in all contexts, thus: - org.postgresql.Driver.getLogLevel(); + this.driver = new Driver(); + DriverManager.registerDriver(this.driver); DbConnectionBuilder connectionBuilder = new PostgreSqlDbConnectionBuilder(getContainer(), componentConfiguration); @@ -123,6 +128,9 @@ public class PostgreSqlPersistenceHandler extends StrolchComponent implements Pe } } + if (this.driver != null) + DriverManager.deregisterDriver(this.driver); + super.destroy(); }