diff options
| author | Alex Rudyy <orudyy@apache.org> | 2013-03-29 13:27:05 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2013-03-29 13:27:05 +0000 |
| commit | 2de5f1bff906ed75d6650a93d5dfc81e4d28cf28 (patch) | |
| tree | 583a41534ccce4bfa3d7e622de4cd80d3856b8be /qpid/java/broker/src | |
| parent | 9f22988ff2d01008ea0cd97d1b2fb8cb8bce96a1 (diff) | |
| download | qpid-python-2de5f1bff906ed75d6650a93d5dfc81e4d28cf28.tar.gz | |
QPID-4677: Add missing broker attributes related to store transactions
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1462472 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src')
4 files changed, 79 insertions, 5 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java index 61b4b330d5..bc4932ea09 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java @@ -243,22 +243,26 @@ public class VirtualHostConfiguration extends AbstractConfiguration public long getTransactionTimeoutOpenWarn() { - return getLongValue("transactionTimeout.openWarn", 0L); + return getLongValue("transactionTimeout.openWarn", + getBrokerAttributeAsLong(Broker.VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_WARN)); } public long getTransactionTimeoutOpenClose() { - return getLongValue("transactionTimeout.openClose", 0L); + return getLongValue("transactionTimeout.openClose", + getBrokerAttributeAsLong(Broker.VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE)); } public long getTransactionTimeoutIdleWarn() { - return getLongValue("transactionTimeout.idleWarn", 0L); + return getLongValue("transactionTimeout.idleWarn", + getBrokerAttributeAsLong(Broker.VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_WARN)); } public long getTransactionTimeoutIdleClose() { - return getLongValue("transactionTimeout.idleClose", 0L); + return getLongValue("transactionTimeout.idleClose", + getBrokerAttributeAsLong(Broker.VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE)); } public int getMaxDeliveryCount() diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.java index 2ecff163b7..e83017d201 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.java @@ -76,6 +76,10 @@ public interface Broker extends ConfiguredObject String STORE_PATH = "storePath"; String MANAGEMENT_VERSION = "managementVersion"; + String VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE = "virtualhost.storeTransactionIdleTimeoutClose"; + String VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_WARN = "virtualhost.storeTransactionIdleTimeoutWarn"; + String VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE = "virtualhost.storeTransactionOpenTimeoutClose"; + String VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_WARN = "virtualhost.storeTransactionOpenTimeoutWarn"; /* * A temporary attribute to pass the path to ACL file. * TODO: It should be a part of AuthorizationProvider. @@ -139,6 +143,10 @@ public interface Broker extends ConfiguredObject STORE_VERSION, STORE_PATH, MANAGEMENT_VERSION, + VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE, + VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_WARN, + VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE, + VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_WARN, ACL_FILE, KEY_STORE_PATH, diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java index fe6bc6eded..841dfb8229 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java @@ -108,6 +108,10 @@ public class BrokerAdapter extends AbstractAdapter implements Broker, Configurat put(PEER_STORE_PATH, String.class); put(PEER_STORE_PASSWORD, String.class); put(GROUP_FILE, String.class); + put(VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE, Long.class); + put(VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_WARN, Long.class); + put(VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE, Long.class); + put(VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_WARN, Long.class); }}); public static final int DEFAULT_STATISTICS_REPORTING_PERIOD = 0; @@ -125,6 +129,10 @@ public class BrokerAdapter extends AbstractAdapter implements Broker, Configurat public static final int DEFAULT_HEART_BEAT_DELAY = 0; public static final int DEFAULT_SESSION_COUNT_LIMIT = 256; public static final String DEFAULT_NAME = "QpidBroker"; + public static final long DEFAULT_STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE = 0l; + public static final long DEFAULT_STORE_TRANSACTION_IDLE_TIMEOUT_WARN = 0l; + public static final long DEFAULT_STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE = 0l; + public static final long DEFAULT_STORE_TRANSACTION_OPEN_TIMEOUT_WARN = 0l; private static final String DEFAULT_KEY_STORE_NAME = "defaultKeyStore"; private static final String DEFAULT_TRUST_STORE_NAME = "defaultTrustStore"; private static final String DEFAULT_GROUP_PROFIDER_NAME = "defaultGroupProvider"; @@ -149,12 +157,18 @@ public class BrokerAdapter extends AbstractAdapter implements Broker, Configurat put(Broker.HEART_BEAT_DELAY, DEFAULT_HEART_BEAT_DELAY); put(Broker.SESSION_COUNT_LIMIT, DEFAULT_SESSION_COUNT_LIMIT); put(Broker.NAME, DEFAULT_NAME); + put(Broker.VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE, DEFAULT_STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE); + put(Broker.VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_WARN, DEFAULT_STORE_TRANSACTION_IDLE_TIMEOUT_WARN); + put(Broker.VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE, DEFAULT_STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE); + put(Broker.VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_WARN, DEFAULT_STORE_TRANSACTION_OPEN_TIMEOUT_WARN); }}); private String[] POSITIVE_NUMERIC_ATTRIBUTES = { ALERT_THRESHOLD_MESSAGE_AGE, ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES, ALERT_THRESHOLD_QUEUE_DEPTH_BYTES, ALERT_THRESHOLD_MESSAGE_SIZE, ALERT_REPEAT_GAP, FLOW_CONTROL_SIZE_BYTES, FLOW_CONTROL_RESUME_SIZE_BYTES, MAXIMUM_DELIVERY_ATTEMPTS, HOUSEKEEPING_CHECK_PERIOD, SESSION_COUNT_LIMIT, - HEART_BEAT_DELAY, STATISTICS_REPORTING_PERIOD }; + HEART_BEAT_DELAY, STATISTICS_REPORTING_PERIOD, VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE, + VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_WARN, VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE, + VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_WARN}; private final StatisticsGatherer _statisticsGatherer; diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java index 570bd004c5..b3b637c81e 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java @@ -357,4 +357,52 @@ public class VirtualHostConfigurationTest extends QpidTestCase // Check, that the property stored within the <dot.in.a.name> tag has been properly loaded assertEquals("virtual host with dots in the name has been properly loaded", TestableMemoryMessageStore.class.getName(), test.getMessageStore().getClass().getName()); } + + public void testStoreTransactionIdleTimeoutClose() throws Exception + { + VirtualHost vhost = createVirtualHost(getName()); + assertEquals("Unexpected StoreTransactionIdleTimeoutClose value", 0, vhost.getConfiguration().getTransactionTimeoutIdleClose()); + + when(_broker.getAttribute(Broker.VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE)).thenReturn(1000l); + assertEquals("Unexpected StoreTransactionIdleTimeoutClose value", 1000l, vhost.getConfiguration().getTransactionTimeoutIdleClose()); + + vhost.getConfiguration().getConfig().setProperty("transactionTimeout.idleClose", 2000l); + assertEquals("Unexpected StoreTransactionIdleTimeoutClose value", 2000l, vhost.getConfiguration().getTransactionTimeoutIdleClose()); + } + + public void testStoreTransactionIdleTimeoutWarn() throws Exception + { + VirtualHost vhost = createVirtualHost(getName()); + assertEquals("Unexpected StoreTransactionIdleTimeoutWarn value", 0, vhost.getConfiguration().getTransactionTimeoutIdleWarn()); + + when(_broker.getAttribute(Broker.VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_WARN)).thenReturn(1000l); + assertEquals("Unexpected StoreTransactionIdleTimeoutWarn value", 1000l, vhost.getConfiguration().getTransactionTimeoutIdleWarn()); + + vhost.getConfiguration().getConfig().setProperty("transactionTimeout.idleWarn", 2000l); + assertEquals("Unexpected StoreTransactionIdleTimeoutWarn value", 2000l, vhost.getConfiguration().getTransactionTimeoutIdleWarn()); + } + + public void testStoreTransactionOpenTimeoutClose() throws Exception + { + VirtualHost vhost = createVirtualHost(getName()); + assertEquals("Unexpected StoreTransactionOpenTimeoutClose value", 0, vhost.getConfiguration().getTransactionTimeoutOpenClose()); + + when(_broker.getAttribute(Broker.VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE)).thenReturn(1000l); + assertEquals("Unexpected StoreTransactionOpenTimeoutClose value", 1000l, vhost.getConfiguration().getTransactionTimeoutOpenClose()); + + vhost.getConfiguration().getConfig().setProperty("transactionTimeout.openClose", 2000l); + assertEquals("Unexpected StoreTransactionOpenTimeoutClose value", 2000l, vhost.getConfiguration().getTransactionTimeoutOpenClose()); + } + + public void testStoreTransactionOpenTimeoutWarn() throws Exception + { + VirtualHost vhost = createVirtualHost(getName()); + assertEquals("Unexpected StoreTransactionOpenTimeoutWarn value", 0, vhost.getConfiguration().getTransactionTimeoutOpenWarn()); + + when(_broker.getAttribute(Broker.VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_WARN)).thenReturn(1000l); + assertEquals("Unexpected StoreTransactionOpenTimeoutWarn value", 1000l, vhost.getConfiguration().getTransactionTimeoutOpenWarn()); + + vhost.getConfiguration().getConfig().setProperty("transactionTimeout.openWarn", 2000l); + assertEquals("Unexpected StoreTransactionOpenTimeoutWarn value", 2000l, vhost.getConfiguration().getTransactionTimeoutOpenWarn()); + } } |
