From 97f1e88314ec07bc85c64491819c4473c317a708 Mon Sep 17 00:00:00 2001 From: Marcus Sorensen Date: Tue, 9 Jul 2013 00:16:36 -0600 Subject: [PATCH] Summary: usage db connection missing url parameters property Detail: users should be able to add url parameters to the usage database connection string, just like with the cloud database BUG-ID: CLOUDSTACK-3410 Bugfix-for: 4.2 Signed-off-by: Marcus Sorensen 1373350596 -0600 --- client/tomcatconf/db.properties.in | 1 + utils/src/com/cloud/utils/db/Transaction.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/client/tomcatconf/db.properties.in b/client/tomcatconf/db.properties.in index e159907cb17..b0cb22b26f0 100644 --- a/client/tomcatconf/db.properties.in +++ b/client/tomcatconf/db.properties.in @@ -64,6 +64,7 @@ db.usage.maxActive=100 db.usage.maxIdle=30 db.usage.maxWait=10000 db.usage.autoReconnect=true +db.usage.url.params= # awsapi database settings db.awsapi.username=@DBUSER@ diff --git a/utils/src/com/cloud/utils/db/Transaction.java b/utils/src/com/cloud/utils/db/Transaction.java index 9113aca4b25..37ea8cf1a92 100755 --- a/utils/src/com/cloud/utils/db/Transaction.java +++ b/utils/src/com/cloud/utils/db/Transaction.java @@ -1103,12 +1103,13 @@ public class Transaction { final int usagePort = Integer.parseInt(dbProps.getProperty("db.usage.port")); final String usageDbName = dbProps.getProperty("db.usage.name"); final boolean usageAutoReconnect = Boolean.parseBoolean(dbProps.getProperty("db.usage.autoReconnect")); + final String usageUrl = dbProps.getProperty("db.usage.url.params"); final GenericObjectPool usageConnectionPool = new GenericObjectPool(null, usageMaxActive, GenericObjectPool.DEFAULT_WHEN_EXHAUSTED_ACTION, usageMaxWait, usageMaxIdle); final ConnectionFactory usageConnectionFactory = new DriverManagerConnectionFactory("jdbc:mysql://" + usageHost + ":" + usagePort + "/" + usageDbName + - "?autoReconnect=" + usageAutoReconnect, usageUsername, usagePassword); + "?autoReconnect=" + usageAutoReconnect + (usageUrl != null ? "&" + usageUrl : ""), usageUsername, usagePassword); final PoolableConnectionFactory usagePoolableConnectionFactory = new PoolableConnectionFactory(usageConnectionFactory, usageConnectionPool, new StackKeyedObjectPoolFactory(), null, false, false);