summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins/jdbc-provider-bone
diff options
context:
space:
mode:
authorAndrew MacBean <macbean@apache.org>2014-06-26 11:19:54 +0000
committerAndrew MacBean <macbean@apache.org>2014-06-26 11:19:54 +0000
commit8a1190a3bc398233b3cb9a295add11eef0f3cec4 (patch)
tree15ecfb671967401f81b9dce15e46aa9f1a33489c /qpid/java/broker-plugins/jdbc-provider-bone
parent4ad072fd1cca374bcf36292bcf83aba74f18f08c (diff)
downloadqpid-python-8a1190a3bc398233b3cb9a295add11eef0f3cec4.tar.gz
QPID-5821: [Java Broker] Refactor MessageStore and DurableConfigurationStore interfaces to remove message store settings map.
VirtualHost model objects now have attributes. Work done by Keith Wall <kwall@apache.org> and me. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1605737 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins/jdbc-provider-bone')
-rw-r--r--qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/org/apache/qpid/server/store/jdbc/bonecp/BoneCPConnectionProvider.java31
-rw-r--r--qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/org/apache/qpid/server/store/jdbc/bonecp/BoneCPConnectionProviderFactory.java6
2 files changed, 29 insertions, 8 deletions
diff --git a/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/org/apache/qpid/server/store/jdbc/bonecp/BoneCPConnectionProvider.java b/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/org/apache/qpid/server/store/jdbc/bonecp/BoneCPConnectionProvider.java
index 4dfb05ff4f..75efababc0 100644
--- a/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/org/apache/qpid/server/store/jdbc/bonecp/BoneCPConnectionProvider.java
+++ b/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/org/apache/qpid/server/store/jdbc/bonecp/BoneCPConnectionProvider.java
@@ -22,8 +22,8 @@ package org.apache.qpid.server.store.jdbc.bonecp;
import com.jolbox.bonecp.BoneCP;
import com.jolbox.bonecp.BoneCPConfig;
+import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.store.jdbc.ConnectionProvider;
-import org.apache.qpid.server.util.MapValueConverter;
import java.sql.Connection;
import java.sql.SQLException;
@@ -42,17 +42,38 @@ public class BoneCPConnectionProvider implements ConnectionProvider
private final BoneCP _connectionPool;
- public BoneCPConnectionProvider(String connectionUrl, Map<String, Object> storeSettings) throws SQLException
+ public BoneCPConnectionProvider(String connectionUrl, ConfiguredObject<?> storeSettings) throws SQLException
{
// TODO change interface to pass through username and password
BoneCPConfig config = new BoneCPConfig();
config.setJdbcUrl(connectionUrl);
- config.setMinConnectionsPerPartition(MapValueConverter.getIntegerAttribute(MIN_CONNECTIONS_PER_PARTITION, storeSettings, DEFAULT_MIN_CONNECTIONS_PER_PARTITION));
- config.setMaxConnectionsPerPartition(MapValueConverter.getIntegerAttribute(MAX_CONNECTIONS_PER_PARTITION, storeSettings, DEFAULT_MAX_CONNECTIONS_PER_PARTITION));
- config.setPartitionCount(MapValueConverter.getIntegerAttribute(PARTITION_COUNT, storeSettings, DEFAULT_PARTITION_COUNT));
+ Map<String, String> context = storeSettings.getContext();
+
+ config.setMinConnectionsPerPartition(getContextValueAsInt(MIN_CONNECTIONS_PER_PARTITION, context, DEFAULT_MIN_CONNECTIONS_PER_PARTITION));
+ config.setMaxConnectionsPerPartition(getContextValueAsInt(MAX_CONNECTIONS_PER_PARTITION, context, DEFAULT_MAX_CONNECTIONS_PER_PARTITION));
+ config.setPartitionCount(getContextValueAsInt(PARTITION_COUNT, context, DEFAULT_PARTITION_COUNT));
+
_connectionPool = new BoneCP(config);
}
+ private int getContextValueAsInt(String key, Map<String, String> context, int defaultValue)
+ {
+ if (context.containsKey(key))
+ {
+ try
+ {
+ return Integer.parseInt(context.get(key));
+ }
+ catch (NumberFormatException e)
+ {
+ return defaultValue;
+ }
+ }
+ else
+ {
+ return defaultValue;
+ }
+ }
@Override
public Connection getConnection() throws SQLException
{
diff --git a/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/org/apache/qpid/server/store/jdbc/bonecp/BoneCPConnectionProviderFactory.java b/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/org/apache/qpid/server/store/jdbc/bonecp/BoneCPConnectionProviderFactory.java
index c1345cfe54..e7dc8bd16c 100644
--- a/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/org/apache/qpid/server/store/jdbc/bonecp/BoneCPConnectionProviderFactory.java
+++ b/qpid/java/broker-plugins/jdbc-provider-bone/src/main/java/org/apache/qpid/server/store/jdbc/bonecp/BoneCPConnectionProviderFactory.java
@@ -21,8 +21,8 @@
package org.apache.qpid.server.store.jdbc.bonecp;
import java.sql.SQLException;
-import java.util.Map;
+import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.plugin.JDBCConnectionProviderFactory;
import org.apache.qpid.server.plugin.PluggableService;
import org.apache.qpid.server.store.jdbc.ConnectionProvider;
@@ -36,9 +36,9 @@ public class BoneCPConnectionProviderFactory implements JDBCConnectionProviderFa
return "BONECP";
}
- public ConnectionProvider getConnectionProvider(String connectionUrl, Map<String, Object> storeSettings)
+ public ConnectionProvider getConnectionProvider(ConfiguredObject<?> parent, String connectionUrl)
throws SQLException
{
- return new BoneCPConnectionProvider(connectionUrl, storeSettings);
+ return new BoneCPConnectionProvider(connectionUrl, parent);
}
}