summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2013-03-29 13:27:05 +0000
committerAlex Rudyy <orudyy@apache.org>2013-03-29 13:27:05 +0000
commit2de5f1bff906ed75d6650a93d5dfc81e4d28cf28 (patch)
tree583a41534ccce4bfa3d7e622de4cd80d3856b8be /qpid/java
parent9f22988ff2d01008ea0cd97d1b2fb8cb8bce96a1 (diff)
downloadqpid-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')
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js56
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/showBroker.html16
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java12
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.java8
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java16
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java48
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java8
7 files changed, 159 insertions, 5 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
index 6c6ece0864..f5e40025c2 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
@@ -371,6 +371,62 @@ define(["dojo/_base/xhr",
name: "virtualhost.housekeepingCheckPeriod"
});
}
+ }, {
+ name: "virtualhost.storeTransactionIdleTimeoutClose",
+ createWidget: function(brokerData) {
+ return new dijit.form.ValidationTextBox({
+ trim: "true",
+ regexp: "[0-9]+",
+ invalidMessage: "Invalid value",
+ required: false,
+ value: brokerData["virtualhost.storeTransactionIdleTimeoutClose"],
+ placeholder: "Time in ms",
+ label: "Idle store transaction close timeout:",
+ name: "virtualhost.storeTransactionIdleTimeoutClose"
+ });
+ }
+ }, {
+ name: "virtualhost.storeTransactionIdleTimeoutWarn",
+ createWidget: function(brokerData) {
+ return new dijit.form.ValidationTextBox({
+ trim: "true",
+ regexp: "[0-9]+",
+ invalidMessage: "Invalid value",
+ required: false,
+ value: brokerData["virtualhost.storeTransactionIdleTimeoutWarn"],
+ placeholder: "Time in ms",
+ label: "Idle store transaction warn timeout:",
+ name: "virtualhost.storeTransactionIdleTimeoutWarn"
+ });
+ }
+ }, {
+ name: "virtualhost.storeTransactionOpenTimeoutClose",
+ createWidget: function(brokerData) {
+ return new dijit.form.ValidationTextBox({
+ trim: "true",
+ regexp: "[0-9]+",
+ invalidMessage: "Invalid value",
+ required: false,
+ value: brokerData["virtualhost.storeTransactionOpenTimeoutClose"],
+ placeholder: "Time in ms",
+ label: "Open store transaction close timeout:",
+ name: "virtualhost.storeTransactionOpenTimeoutClose"
+ });
+ }
+ }, {
+ name: "virtualhost.storeTransactionOpenTimeoutWarn",
+ createWidget: function(brokerData) {
+ return new dijit.form.ValidationTextBox({
+ trim: "true",
+ regexp: "[0-9]+",
+ invalidMessage: "Invalid value",
+ required: false,
+ value: brokerData["virtualhost.storeTransactionOpenTimeoutWarn"],
+ placeholder: "Time in ms",
+ label: "Open store transaction warn timeout:",
+ name: "virtualhost.storeTransactionOpenTimeoutWarn"
+ });
+ }
} ];
}
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/showBroker.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/showBroker.html
index 6d1adab992..0cac138cb1 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/showBroker.html
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/showBroker.html
@@ -150,6 +150,22 @@
<div class="formLabel-labelCell" style="float:left; width: 250px;">House keeping check period:</div>
<div id="brokerAttribute.virtualhost.housekeepingCheckPeriod" style="float:left;"></div>ms
</div>
+ <div id="brokerAttribute.virtualhost.storeTransactionIdleTimeoutClose.container" style="clear:both">
+ <div class="formLabel-labelCell" style="float:left; width: 250px;">Idle store transaction close timeout:</div>
+ <div id="brokerAttribute.virtualhost.storeTransactionIdleTimeoutClose" style="float:left;"></div>ms
+ </div>
+ <div id="brokerAttribute.virtualhost.storeTransactionIdleTimeoutWarn.container" style="clear:both">
+ <div class="formLabel-labelCell" style="float:left; width: 250px;">Idle store transaction warn timeout:</div>
+ <div id="brokerAttribute.virtualhost.storeTransactionIdleTimeoutWarn" style="float:left;"></div>ms
+ </div>
+ <div id="brokerAttribute.virtualhost.storeTransactionOpenTimeoutClose.container" style="clear:both">
+ <div class="formLabel-labelCell" style="float:left; width: 250px;">Open store transaction close timeout:</div>
+ <div id="brokerAttribute.virtualhost.storeTransactionOpenTimeoutClose" style="float:left;"></div>ms
+ </div>
+ <div id="brokerAttribute.virtualhost.storeTransactionOpenTimeoutWarn.container" style="clear:both">
+ <div class="formLabel-labelCell" style="float:left; width: 250px;">Open store transaction warn timeout:</div>
+ <div id="brokerAttribute.virtualhost.storeTransactionOpenTimeoutWarn" style="float:left;"></div>ms
+ </div>
<div style="clear:both"></div>
</div>
</div>
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());
+ }
}
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
index ba767a474a..e03275366e 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
@@ -150,6 +150,10 @@ public class BrokerRestTest extends QpidRestTestCase
invalidAttributes.put(Broker.PEER_STORE_PATH, QpidTestCase.QPID_HOME + File.separator + "etc" + File.separator + "non-existing-peerstore.jks");
invalidAttributes.put(Broker.PEER_STORE_PASSWORD, "password3");
invalidAttributes.put(Broker.GROUP_FILE, QpidTestCase.QPID_HOME + File.separator + "etc" + File.separator + "groups-non-existing");
+ invalidAttributes.put(Broker.VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE, -13000);
+ invalidAttributes.put(Broker.VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_WARN, -14000);
+ invalidAttributes.put(Broker.VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE, -15000);
+ invalidAttributes.put(Broker.VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_WARN, -16000);
for (Map.Entry<String, Object> entry : invalidAttributes.entrySet())
{
@@ -195,6 +199,10 @@ public class BrokerRestTest extends QpidRestTestCase
brokerAttributes.put(Broker.PEER_STORE_PATH, TestSSLConstants.TRUSTSTORE);
brokerAttributes.put(Broker.PEER_STORE_PASSWORD, TestSSLConstants.TRUSTSTORE_PASSWORD);
brokerAttributes.put(Broker.GROUP_FILE, QpidTestCase.QPID_HOME + File.separator + "etc" + File.separator + "groups");
+ brokerAttributes.put(Broker.VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE, 13000);
+ brokerAttributes.put(Broker.VIRTUALHOST_STORE_TRANSACTION_IDLE_TIMEOUT_WARN, 14000);
+ brokerAttributes.put(Broker.VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE, 15000);
+ brokerAttributes.put(Broker.VIRTUALHOST_STORE_TRANSACTION_OPEN_TIMEOUT_WARN, 16000);
return brokerAttributes;
}