You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2017/03/07 11:54:24 UTC
svn commit: r1785831 - in /qpid/java/trunk:
broker-plugins/management-http/src/main/java/resources/
broker-plugins/management-http/src/main/java/resources/css/
broker-plugins/management-http/src/main/java/resources/js/qpid/management/
doc/java-broker/s...
Author: kwall
Date: Tue Mar 7 11:54:20 2017
New Revision: 1785831
URL: http://svn.apache.org/viewvc?rev=1785831&view=rev
Log:
QPID-7618: Improve presentation of the overflow policies within the Web Management Console
Modified:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/addQueue.html
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/css/common.css
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editQueue.html
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showQueue.html
qpid/java/trunk/doc/java-broker/src/docbkx/Java-Broker-Appendix-Queue-Declaration-Arguments.xml
qpid/java/trunk/doc/java-broker/src/docbkx/concepts/Java-Broker-Concepts-Queues.xml
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/addQueue.html
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/addQueue.html?rev=1785831&r1=1785830&r2=1785831&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/addQueue.html (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/addQueue.html Tue Mar 7 11:54:20 2017
@@ -137,6 +137,32 @@
</select>
</div>
</div>
+ <div class="clear">
+ <div class="formLabel-labelCell">Maximum Ttl:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formAddQueue.maximumMessageTtl"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'maximumMessageTtl',
+ placeHolder: 'ttl in ms',
+ promptMessage: 'Maximum message time to live (ttl) in ms. Messages arriving with larger ttl values will be overridden by this value',
+ title: 'Enter the maximum message time to live in milliseconds',
+ trim: true"/>
+ </div>
+ </div>
+ <div class="clear">
+ <div class="formLabel-labelCell">Minimum Ttl:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formAddQueue.minimumMessageTtl"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'minimumMessageTtl',
+ placeHolder: 'ttl in ms',
+ promptMessage: 'Minimum message time to live (ttl) in ms. Messages arriving with smaller ttl values will be overridden by this value',
+ title: 'Enter the minimum message time to live in milliseconds',
+ trim: true"/>
+ </div>
+ </div>
<div class="clear formBox">
<fieldset>
@@ -191,165 +217,133 @@
<div class="clear formBox">
<fieldset>
- <div class="clear">
- <div class="formLabel-labelCell">Maximum Ttl:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formAddQueue.maximumMessageTtl"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'maximumMessageTtl',
- placeHolder: 'ttl in ms',
- promptMessage: 'Maximum message time to live (ttl) in ms. Messages arriving with larger ttl values will be overridden by this value',
- title: 'Enter the maximum message time to live in milliseconds',
- trim: true"/>
- </div>
- </div>
- <div class="clear">
- <div class="formLabel-labelCell">Minimum Ttl:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formAddQueue.minimumMessageTtl"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'minimumMessageTtl',
- placeHolder: 'ttl in ms',
- promptMessage: 'Minimum message time to live (ttl) in ms. Messages arriving with smaller ttl values will be overridden by this value',
- title: 'Enter the minimum message time to live in milliseconds',
- trim: true"/>
- </div>
- </div>
- <div class="clear"></div>
- </fieldset>
- </div>
-
- <div class="clear formBox">
- <fieldset>
- <legend>Alerting Settings</legend>
- <div class="clear">
- <div class="formLabel-labelCell">Queue Depth (Messages):</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formAddQueue.alertThresholdQueueDepthMessages"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'alertThresholdQueueDepthMessages',
- placeHolder: 'number of messages',
- promptMessage: 'Ceiling value for number of messages on queue before alerts will be generated',
- title: 'Enter the ceiling value for number of messages on queue before alerts will be generated',
- trim: true"/>
+ <legend>Alerting Settings</legend>
+ <div class="clear">
+ <div class="formLabel-labelCell">Queue Depth (Messages):</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formAddQueue.alertThresholdQueueDepthMessages"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'alertThresholdQueueDepthMessages',
+ placeHolder: 'number of messages',
+ promptMessage: 'Ceiling value for number of messages on queue before alerts will be generated',
+ title: 'Enter the ceiling value for number of messages on queue before alerts will be generated',
+ trim: true"/>
+ </div>
</div>
- </div>
- <div class="clear">
- <div class="formLabel-labelCell">Queue Depth (Bytes):</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formAddQueue.alertThresholdQueueDepthBytes"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'alertThresholdQueueDepthBytes',
- placeHolder: 'total message size in bytes',
- promptMessage: 'Ceiling value (in bytes) for total size of all messages on the queue before alerts will be generated',
- title: 'Enter the ceiling value (in bytes) for total size of all messages on the queue before alerts will be generated',
- trim: true"/>
+ <div class="clear">
+ <div class="formLabel-labelCell">Queue Depth (Bytes):</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formAddQueue.alertThresholdQueueDepthBytes"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'alertThresholdQueueDepthBytes',
+ placeHolder: 'total message size in bytes',
+ promptMessage: 'Ceiling value (in bytes) for total size of all messages on the queue before alerts will be generated',
+ title: 'Enter the ceiling value (in bytes) for total size of all messages on the queue before alerts will be generated',
+ trim: true"/>
+ </div>
</div>
- </div>
- <div class="clear">
- <div class="formLabel-labelCell">Message Age:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formAddQueue.alertThresholdMessageAge"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'alertThresholdMessageAge',
- placeHolder: 'time in ms',
- promptMessage: 'Message age (in milliseconds) above which alerts will be generated',
- title: 'Enter the message age (in milliseconds) above which alerts will be generated',
- trim: true"/>
+ <div class="clear">
+ <div class="formLabel-labelCell">Message Age:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formAddQueue.alertThresholdMessageAge"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'alertThresholdMessageAge',
+ placeHolder: 'time in ms',
+ promptMessage: 'Message age (in milliseconds) above which alerts will be generated',
+ title: 'Enter the message age (in milliseconds) above which alerts will be generated',
+ trim: true"/>
+ </div>
</div>
- </div>
- <div class="clear">
- <div class="formLabel-labelCell">Message Size:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formAddQueue.alertThresholdMessageSize"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'alertThresholdMessageSize',
- placeHolder: 'message size in bytes',
- promptMessage: 'Message size (in bytes) above which alerts will be generated',
- title: 'Enter the message size (in bytes) above which alerts will be generated',
- trim: true"/>
+ <div class="clear">
+ <div class="formLabel-labelCell">Message Size:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formAddQueue.alertThresholdMessageSize"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'alertThresholdMessageSize',
+ placeHolder: 'message size in bytes',
+ promptMessage: 'Message size (in bytes) above which alerts will be generated',
+ title: 'Enter the message size (in bytes) above which alerts will be generated',
+ trim: true"/>
+ </div>
</div>
- </div>
- <div class="clear">
- <div class="formLabel-labelCell">Gap between alerts:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formAddQueue.alertRepeatGap"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'alertRepeatGap',
- placeHolder: 'time in ms',
- promptMessage: 'Minimum time (in milliseconds) between each alert',
- title: 'Enter the minimum time (in milliseconds) between each alert.',
- trim: true"/>
+ <div class="clear">
+ <div class="formLabel-labelCell">Gap between alerts:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formAddQueue.alertRepeatGap"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'alertRepeatGap',
+ placeHolder: 'time in ms',
+ promptMessage: 'Minimum time (in milliseconds) between each alert',
+ title: 'Enter the minimum time (in milliseconds) between each alert.',
+ trim: true"/>
+ </div>
</div>
- </div>
</fieldset>
<div class="clear"></div>
</div>
<div class="clear formBox">
<fieldset>
- <legend>Other Settings</legend>
- <div class="clear">
- <div class="formLabel-labelCell">Maximum Delivery Retries:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formAddQueue.maximumDeliveryAttempts"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'maximumDeliveryAttempts',
- placeHolder: 'number of retries',
- promptMessage: 'Maximum number of delivery attempts before the message will be sent to the alternate exchange',
- title: 'Enter the maximum number of delivery attempts before the message will be sent to the alternate exchange',
- trim: true"/>
+ <legend>Other Settings</legend>
+ <div class="clear">
+ <div class="formLabel-labelCell">Maximum Delivery Retries:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formAddQueue.maximumDeliveryAttempts"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'maximumDeliveryAttempts',
+ placeHolder: 'number of retries',
+ promptMessage: 'Maximum number of delivery attempts before the message will be sent to the alternate exchange',
+ title: 'Enter the maximum number of delivery attempts before the message will be sent to the alternate exchange',
+ trim: true"/>
+ </div>
</div>
- </div>
- <div class="clear">
- <div class="formLabel-labelCell">Create DLQ?</div>
- <div class="formLabel-controlCell">
- <input type="checkbox" id="formAddQueue.dlqEnabled"
- dojoType="dijit.form.CheckBox"
- data-dojo-props="
- name: 'x-qpid-dlq-enabled',
- value: 'dlqEnabled',
- title: 'Controls where a dead letter queue is automatically created',
- checked: false"/>
+ <div class="clear">
+ <div class="formLabel-labelCell">Create DLQ?</div>
+ <div class="formLabel-controlCell">
+ <input type="checkbox" id="formAddQueue.dlqEnabled"
+ dojoType="dijit.form.CheckBox"
+ data-dojo-props="
+ name: 'x-qpid-dlq-enabled',
+ value: 'dlqEnabled',
+ title: 'Controls where a dead letter queue is automatically created',
+ checked: false"/>
+ </div>
</div>
- </div>
- <div class="clear"></div>
- <div class="infoMessage">Configuring maximum delivery retries on a queue which has no DLQ or alternate <br/>exchange will result in messages being discarded after the limit is reached.</div>
+ <div class="clear"></div>
+ <div class="infoMessage">Configuring maximum delivery retries on a queue which has no DLQ or alternate <br/>exchange will result in messages being discarded after the limit is reached.</div>
- <div class="clear">
- <div class="formLabel-labelCell">Message Group Key:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formAddQueue.messageGroupKey"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'messageGroupKey',
- placeHolder: 'message group key',
- promptMessage: 'Name of the message property used for message grouping',
- title: 'Enter the name of the message property used for message grouping',
- trim: true"/>
+ <div class="clear">
+ <div class="formLabel-labelCell">Message Group Key:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formAddQueue.messageGroupKey"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'messageGroupKey',
+ placeHolder: 'message group key',
+ promptMessage: 'Name of the message property used for message grouping',
+ title: 'Enter the name of the message property used for message grouping',
+ trim: true"/>
+ </div>
</div>
- </div>
- <div class="clear">
- <div class="formLabel-labelCell">Shared Message Groups?</div>
- <div class="formLabel-controlCell">
- <input type="checkbox" id="formAddQueue.messageGroupSharedGroups"
- dojoType="dijit.form.CheckBox"
- data-dojo-props="
- name: 'messageGroupSharedGroups',
- value: 'messageGroupSharedGroups',
- checked: false,
- title: 'Controls where a shared groups feature is enabled'"/>
+ <div class="clear">
+ <div class="formLabel-labelCell">Shared Message Groups?</div>
+ <div class="formLabel-controlCell">
+ <input type="checkbox" id="formAddQueue.messageGroupSharedGroups"
+ dojoType="dijit.form.CheckBox"
+ data-dojo-props="
+ name: 'messageGroupSharedGroups',
+ value: 'messageGroupSharedGroups',
+ checked: false,
+ title: 'Controls where a shared groups feature is enabled'"/>
+ </div>
</div>
- </div>
<div class="clear">
<div class="formLabel-labelCell">Hold on Publish Enabled?</div>
<div class="formLabel-controlCell">
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/css/common.css
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/css/common.css?rev=1785831&r1=1785830&r2=1785831&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/css/common.css (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/css/common.css Tue Mar 7 11:54:20 2017
@@ -721,3 +721,8 @@ td.advancedSearchField, col.autoWidth {
{
background-color: darkgray;
}
+
+.notApplicable
+{
+ font-style: italic;
+}
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editQueue.html
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editQueue.html?rev=1785831&r1=1785830&r2=1785831&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editQueue.html (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editQueue.html Tue Mar 7 11:54:20 2017
@@ -131,6 +131,32 @@
</select>
</div>
</div>
+ <div class="clear">
+ <div class="formLabel-labelCell">Maximum Ttl:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formEditQueue.maximumMessageTtl"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'maximumMessageTtl',
+ placeHolder: 'ttl in ms',
+ promptMessage: 'Maximum message time to live (ttl) in ms. Messages arriving with larger ttl values will be overridden by this value',
+ title: 'Enter the maximum message time to live in milliseconds',
+ trim: true"/>
+ </div>
+ </div>
+ <div class="clear">
+ <div class="formLabel-labelCell">Minimum Ttl:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formEditQueue.minimumMessageTtl"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'minimumMessageTtl',
+ placeHolder: 'ttl in ms',
+ promptMessage: 'Minimum message time to live (ttl) in ms. Messages arriving with smaller ttl values will be overridden by this value',
+ title: 'Enter the minimum message time to live in milliseconds',
+ trim: true"/>
+ </div>
+ </div>
<div class="clear formBox">
<fieldset>
@@ -161,8 +187,8 @@
data-dojo-props="
name: 'maximumQueueDepthMessages',
placeHolder: 'maximum number of messages',
- promptMessage: 'Maximum number of messages in the queue',
- title: 'Enter the maximum number of messages in the queue',
+ promptMessage: 'Maximum number of messages on the queue. If overflow policy is None or value is negative, no maximum is enforeced.',
+ title: 'Enter the maximum number of messages on the queue',
trim: true"/>
</div>
</div>
@@ -174,8 +200,8 @@
data-dojo-props="
name: 'maximumQueueDepthBytes',
placeHolder: 'maximum number of bytes',
- promptMessage: 'Maximum number of bytes (including headers) in the queue',
- title: 'Enter the maximum number of bytes (including headers) in the queue',
+ promptMessage: 'Maximum number of bytes on the queue. If overflow policy is None or value is negative, no maximum is enforeced.',
+ title: 'Enter the maximum number of bytes on the queue',
trim: true"/>
</div>
</div>
@@ -185,125 +211,92 @@
<div class="clear formBox">
<fieldset>
- <div class="clear">
- <div class="formLabel-labelCell">Maximum Ttl:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formEditQueue.maximumMessageTtl"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'maximumMessageTtl',
- placeHolder: 'ttl in ms',
- promptMessage: 'Maximum message time to live (ttl) in ms. Messages arriving with larger ttl values will be overridden by this value',
- title: 'Enter the maximum message time to live in milliseconds',
- trim: true"/>
- </div>
- </div>
- <div class="clear">
- <div class="formLabel-labelCell">Minimum Ttl:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formEditQueue.minimumMessageTtl"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'minimumMessageTtl',
- placeHolder: 'ttl in ms',
- promptMessage: 'Minimum message time to live (ttl) in ms. Messages arriving with smaller ttl values will be overridden by this value',
- title: 'Enter the minimum message time to live in milliseconds',
- trim: true"/>
- </div>
- </div>
-
- <div class="clear"></div>
- </fieldset>
- </div>
-
- <div class="clear formBox">
- <fieldset>
<legend>Alerting Settings</legend>
<div class="clear">
- <div class="formLabel-labelCell">Queue Depth (Messages):</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formEditQueue.alertThresholdQueueDepthMessages"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'alertThresholdQueueDepthMessages',
- placeHolder: 'number of messages',
- promptMessage: 'Ceiling value for number of messages on queue before alerts will be generated',
- title: 'Enter the ceiling value for number of messages on queue before alerts will be generated',
- trim: true"/>
+ <div class="formLabel-labelCell">Queue Depth (Messages):</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formEditQueue.alertThresholdQueueDepthMessages"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'alertThresholdQueueDepthMessages',
+ placeHolder: 'number of messages',
+ promptMessage: 'Ceiling value for number of messages on queue before alerts will be generated',
+ title: 'Enter the ceiling value for number of messages on queue before alerts will be generated',
+ trim: true"/>
+ </div>
</div>
- </div>
- <div class="clear">
- <div class="formLabel-labelCell">Queue Depth (Bytes):</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formEditQueue.alertThresholdQueueDepthBytes"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'alertThresholdQueueDepthBytes',
- placeHolder: 'total message size in bytes',
- promptMessage: 'Ceiling value (in bytes) for total size of all messages on the queue before alerts will be generated',
- title: 'Enter the ceiling value (in bytes) for total size of all messages on the queue before alerts will be generated',
- trim: true"/>
+ <div class="clear">
+ <div class="formLabel-labelCell">Queue Depth (Bytes):</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formEditQueue.alertThresholdQueueDepthBytes"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'alertThresholdQueueDepthBytes',
+ placeHolder: 'total message size in bytes',
+ promptMessage: 'Ceiling value (in bytes) for total size of all messages on the queue before alerts will be generated',
+ title: 'Enter the ceiling value (in bytes) for total size of all messages on the queue before alerts will be generated',
+ trim: true"/>
+ </div>
</div>
- </div>
- <div class="clear">
- <div class="formLabel-labelCell">Message Age:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formEditQueue.alertThresholdMessageAge"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'alertThresholdMessageAge',
- placeHolder: 'time in ms',
- promptMessage: 'Message age (in milliseconds) above which alerts will be generated',
- title: 'Enter the message age (in milliseconds) above which alerts will be generated',
- trim: true"/>
+ <div class="clear">
+ <div class="formLabel-labelCell">Message Age:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formEditQueue.alertThresholdMessageAge"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'alertThresholdMessageAge',
+ placeHolder: 'time in ms',
+ promptMessage: 'Message age (in milliseconds) above which alerts will be generated',
+ title: 'Enter the message age (in milliseconds) above which alerts will be generated',
+ trim: true"/>
+ </div>
</div>
- </div>
- <div class="clear">
- <div class="formLabel-labelCell">Message Size:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formEditQueue.alertThresholdMessageSize"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'alertThresholdMessageSize',
- placeHolder: 'message size in bytes',
- promptMessage: 'Message size (in bytes) above which alerts will be generated',
- title: 'Enter the message size (in bytes) above which alerts will be generated',
- trim: true"/>
+ <div class="clear">
+ <div class="formLabel-labelCell">Message Size:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formEditQueue.alertThresholdMessageSize"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'alertThresholdMessageSize',
+ placeHolder: 'message size in bytes',
+ promptMessage: 'Message size (in bytes) above which alerts will be generated',
+ title: 'Enter the message size (in bytes) above which alerts will be generated',
+ trim: true"/>
+ </div>
</div>
- </div>
- <div class="clear">
- <div class="formLabel-labelCell">Gap between alerts:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formEditQueue.alertRepeatGap"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'alertRepeatGap',
- placeHolder: 'time in ms',
- promptMessage: 'Minimum time (in milliseconds) between each alert',
- title: 'Enter the minimum time (in milliseconds) between each alert.',
- trim: true"/>
+ <div class="clear">
+ <div class="formLabel-labelCell">Gap between alerts:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formEditQueue.alertRepeatGap"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'alertRepeatGap',
+ placeHolder: 'time in ms',
+ promptMessage: 'Minimum time (in milliseconds) between each alert',
+ title: 'Enter the minimum time (in milliseconds) between each alert.',
+ trim: true"/>
+ </div>
</div>
- </div>
</fieldset>
<div class="clear"></div>
</div>
<div class="clear formBox">
<fieldset>
- <legend>Other Settings</legend>
- <div class="clear">
- <div class="formLabel-labelCell">Maximum Delivery Retries:</div>
- <div class="formLabel-controlCell">
- <input type="text" id="formEditQueue.maximumDeliveryAttempts"
- data-dojo-type="dijit/form/ValidationTextBox"
- data-dojo-props="
- name: 'maximumDeliveryAttempts',
- placeHolder: 'number of retries',
- promptMessage: 'Maximum number of delivery attempts before the message will be sent to the alternate exchange',
- title: 'Enter the maximum number of delivery attempts before the message will be sent to the alternate exchange',
- trim: true"/>
+ <legend>Other Settings</legend>
+ <div class="clear">
+ <div class="formLabel-labelCell">Maximum Delivery Retries:</div>
+ <div class="formLabel-controlCell">
+ <input type="text" id="formEditQueue.maximumDeliveryAttempts"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'maximumDeliveryAttempts',
+ placeHolder: 'number of retries',
+ promptMessage: 'Maximum number of delivery attempts before the message will be sent to the alternate exchange',
+ title: 'Enter the maximum number of delivery attempts before the message will be sent to the alternate exchange',
+ trim: true"/>
+ </div>
</div>
- </div>
<div class="clear">
<div class="formLabel-labelCell">Hold on Publish Enabled?</div>
<div class="formLabel-controlCell">
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js?rev=1785831&r1=1785830&r2=1785831&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js Tue Mar 7 11:54:20 2017
@@ -387,7 +387,9 @@ define(["dojo/_base/declare",
"owner",
"lifetimePolicy",
"overflowPolicy",
+ "maximumQueueDepth",
"maximumQueueDepthBytes",
+ "maximumQueueDepthBytesUnits",
"maximumQueueDepthMessages",
"type",
"typeQualifier",
@@ -455,24 +457,52 @@ define(["dojo/_base/declare",
}
- function renderMaximumQueueDepth(value, bytes)
+ function renderMaximumQueueDepthMessages(valueElement, value, bytes)
{
- if (util.isInteger(value))
+ var text;
+ if (value < 0)
{
- if (value < 0)
- {
- return "<unlimited>";
- }
+ text = "unlimited";
+ valueElement.classList.add("notApplicable");
+ }
+ else
+ {
+ valueElement.classList.remove("notApplicable");
+
if (bytes)
{
- var formatted = formatter.formatBytes(value);
+ var formatted = formatter.formatBytes(value);
- return formatted.value + " " + formatted.units;
+ text = formatted.value + " " + formatted.units;
}
+ else
+ {
+ text = new String(value);
+ }
+ }
+ valueElement.innerHTML = text;
+ }
+
+ function renderMaximumQueueDepthBytes(valueElement, unitElement, value)
+ {
+ var text;
+ var unit;
+ if (value < 0)
+ {
+ text = "unlimited";
+ unit = "B";
+ valueElement.classList.add("notApplicable");
+ }
+ else
+ {
+ valueElement.classList.remove("notApplicable");
- return new String(value) + " msgs";
+ var formatted = formatter.formatBytes(value);
+ text = formatted.value;
+ unit = formatted.units;
}
- return "";
+ valueElement.innerHTML = text;
+ unitElement.innerHTML = unit;
}
QueueUpdater.prototype.updateHeader = function ()
@@ -513,9 +543,19 @@ define(["dojo/_base/declare",
+ ")");
}
- this["overflowPolicy"].innerHTML = entities.encode(this.queueData["overflowPolicy"]);
- this["maximumQueueDepthBytes"].innerHTML = renderMaximumQueueDepth(this.queueData.maximumQueueDepthBytes, true);
- this["maximumQueueDepthMessages"].innerHTML = renderMaximumQueueDepth(this.queueData.maximumQueueDepthMessages, false);
+ var overflowPolicy = this.queueData["overflowPolicy"];
+ this["overflowPolicy"].innerHTML = entities.encode(overflowPolicy);
+
+ if (overflowPolicy && overflowPolicy != "NONE")
+ {
+ this.maximumQueueDepth.style.display = "block";
+ renderMaximumQueueDepthBytes(this["maximumQueueDepthBytes"], this["maximumQueueDepthBytesUnits"], this.queueData.maximumQueueDepthBytes);
+ renderMaximumQueueDepthMessages(this["maximumQueueDepthMessages"], this.queueData.maximumQueueDepthMessages);
+ }
+ else
+ {
+ this.maximumQueueDepth.style.display = "none";
+ }
if (this.queueData["messageGroupKey"])
{
this.messageGroupKey.innerHTML = entities.encode(String(this.queueData["messageGroupKey"]));
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showQueue.html
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showQueue.html?rev=1785831&r1=1785830&r2=1785831&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showQueue.html (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showQueue.html Tue Mar 7 11:54:20 2017
@@ -52,11 +52,12 @@
<div class="formLabel-labelCell">Overflow Policy:</div>
<div class="overflowPolicy formValue-valueCell"></div>
</div>
- <div class="clear">
+ <div class="clear maximumQueueDepth">
<div class="formLabel-labelCell">Maximum Queue Depth:</div>
<div class="formValue-valueCell">
<span class="maximumQueueDepthMessages"></span>
- (<span class="maximumQueueDepthBytes"></span>)
+ <span> msgs</span>
+ (<span class="maximumQueueDepthBytes"></span> <span class="maximumQueueDepthBytesUnits"></span>)
</div>
</div>
</div>
Modified: qpid/java/trunk/doc/java-broker/src/docbkx/Java-Broker-Appendix-Queue-Declaration-Arguments.xml
URL: http://svn.apache.org/viewvc/qpid/java/trunk/doc/java-broker/src/docbkx/Java-Broker-Appendix-Queue-Declaration-Arguments.xml?rev=1785831&r1=1785830&r2=1785831&view=diff
==============================================================================
--- qpid/java/trunk/doc/java-broker/src/docbkx/Java-Broker-Appendix-Queue-Declaration-Arguments.xml (original)
+++ qpid/java/trunk/doc/java-broker/src/docbkx/Java-Broker-Appendix-Queue-Declaration-Arguments.xml Tue Mar 7 11:54:20 2017
@@ -23,9 +23,9 @@
<para>
<emphasis>Qpid Broker for Java</emphasis>
supports a number of custom arguments which can be specified as part of <emphasis>queue.declare</emphasis>
- commands for AMQP 0.x protocols. This section provides an overview of the supported arguments.
+ commands for AMQP 0-x protocols. This section provides an overview of the supported arguments.
</para>
- <table pgwide="1" xml:id="Java-Broker-Appendix-Supported-Queue-Declare-Arguments">
+ <table xml:id="Java-Broker-Appendix-Supported-Queue-Declare-Arguments">
<title>Queue declare arguments</title>
<tgroup cols="2">
<colspec colnum="1" colname="col1"/>
Modified: qpid/java/trunk/doc/java-broker/src/docbkx/concepts/Java-Broker-Concepts-Queues.xml
URL: http://svn.apache.org/viewvc/qpid/java/trunk/doc/java-broker/src/docbkx/concepts/Java-Broker-Concepts-Queues.xml?rev=1785831&r1=1785830&r2=1785831&view=diff
==============================================================================
--- qpid/java/trunk/doc/java-broker/src/docbkx/concepts/Java-Broker-Concepts-Queues.xml (original)
+++ qpid/java/trunk/doc/java-broker/src/docbkx/concepts/Java-Broker-Concepts-Queues.xml Tue Mar 7 11:54:20 2017
@@ -24,7 +24,7 @@
<title>Queues</title>
<para><emphasis>Queue</emphasis>s are named entities within a <link linkend="Java-Broker-Concepts-Virtualhosts">Virtualhost</link> that
hold/buffer messages for later delivery to consumer applications. An <link linkend="Java-Broker-Concepts-Exchanges">Exchange</link> for passing messages to a queue.
- Consumers subscribe to a queue in order to receive messages for it. </para>
+ Consumers subscribe to a queue in order to receive messages from it. </para>
<para>The Broker supports different queue types, each with different delivery semantics. Queues also have the ability to group messages
together for delivery to a single consumer.</para>
<section xml:id="Java-Broker-Concepts-Queues-Types">
@@ -376,13 +376,13 @@ amqp://guest:guest@client1/development?m
</section>
</section>
- <section xml:id="Java-Broker-Concepts-Queue-OverflowPolicy" role="h2">
+ <section xml:id="Java-Broker-Concepts-Queue-OverflowPolicy">
<title>Controlling Queue Size</title>
<para>
<emphasis>Overflow Policy</emphasis>
- can be configured on an individual <emphasis>Queue</emphasis> to limit the queue capacity.
- The capacity limits can be specified as a <emphasis>maximum number of bytes</emphasis> or
- <emphasis>maximum number of messages</emphasis> or both.
+ can be configured on an individual <emphasis>Queue</emphasis> to limit the queue size. The size
+ can be expressed in terms of a <emphasis>maximum number of bytes</emphasis> and/or
+ <emphasis>maximum number of messages</emphasis>.
The <emphasis>Overflow Policy</emphasis> defines the Queue behaviour when any of the limits is reached.
</para>
<para>
@@ -398,9 +398,11 @@ amqp://guest:guest@client1/development?m
<listitem>
<para>
<emphasis>Ring</emphasis>
- - The oldest messages are removed. For a
+ - If a newly arriving message takes the queue over a limit, message(s) are
+ deleted from the queue until the queue falls within its limit again. When deleting
+ messages, the oldest messages are deleted first. For a
<link linkend="Java-Broker-Concepts-Queues-Types-Priority">Priority Queue</link>
- oldest messages with lowest priorities are removed.
+ the oldest messages with lowest priorities are removed.
</para>
</listitem>
<listitem>
@@ -415,47 +417,12 @@ amqp://guest:guest@client1/development?m
</itemizedlist>
</para>
<para>
- <emphasis>Overflow Policy</emphasis> can be set using queue attribute <varname>overflowPolicy</varname>.
- You can set it to <varname>RING</varname> to configure <emphasis>Ring</emphasis> overflow policy.
- <varname>PRODUCER_FLOW_CONTROL</varname> sets the <emphasis>Overflow Policy</emphasis> to
- <emphasis>Producer Flow Control</emphasis>. <varname>NONE</varname> can be used to set
- <emphasis>None</emphasis> overflow policy explicitly.
- <emphasis>Maximum number of messages</emphasis> can be set using queue attribute
- <varname>maximumQueueDepthMessages</varname>.
- <emphasis>Maximum number of bytes</emphasis> can be set using
- queue attribute <varname>maximumQueueDepthBytes</varname>
+ A negative value for <emphasis>maximum number of messages</emphasis> or
+ <emphasis>maximum number of bytes</emphasis> disables the limit.
+ </para>
+ <para>
+ The Broker issues Operational log messages when the queue sizes are breached. These are documented
+ at <xref linkend="Java-Broker-Appendix-Operation-Logging-Message-List-Queue"/>.
</para>
- <note>
- <para>
- Negative values for <emphasis>maximum number of messages</emphasis> and
- <emphasis>maximum number of bytes</emphasis>
- can be used to remove the upper limit (simply making queue unbound by the limit where it was set).
- </para>
- </note>
- <note>
- <para>
- The <emphasis>Producer Flow Control</emphasis> can be triggered when a configured disk
- quota is exceeded. For more details, please read
- <xref linkend="Java-Broker-Runtime-Disk-Space-Management-Producer-Flow-Control"/>.
- </para>
- </note>
- <note>
- <para>
- The impact of the <emphasis>Producer Flow Control</emphasis> on JMS Client is documented
- <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${qpidJmsClient08Book}/JMS-Client-0-8-Appendix-ProducerFlowControl-Impact.html">here</link>
- </para>
- </note>
- <note>
- <para>
- Operational logs issued on breaching of queue capacities for different overflow policies are documented
- at <xref linkend="Java-Broker-Appendix-Operation-Logging-Message-List-Queue"/>.
- </para>
- </note>
- <note>
- <para>
- Supported queue arguments for AMQP 0.x <emphasis>queue.declare</emphasis> are documented
- at <xref linkend="Java-Broker-Appendix-Supported-Queue-Declare-Arguments"/>.
- </para>
- </note>
</section>
</section>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org