| <!-- |
| - |
| - Licensed to the Apache Software Foundation (ASF) under one |
| - or more contributor license agreements. See the NOTICE file |
| - distributed with this work for additional information |
| - regarding copyright ownership. The ASF licenses this file |
| - to you under the Apache License, Version 2.0 (the |
| - "License"); you may not use this file except in compliance |
| - with the License. You may obtain a copy of the License at |
| - |
| - http://www.apache.org/licenses/LICENSE-2.0 |
| - |
| - Unless required by applicable law or agreed to in writing, |
| - software distributed under the License is distributed on an |
| - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| - KIND, either express or implied. See the License for the |
| - specific language governing permissions and limitations |
| - under the License. |
| - |
| --> |
| <div class="dijitHidden"> |
| <div data-dojo-type="dijit.Dialog" data-dojo-props="title:'Queue'" id="addQueue"> |
| <form id="formAddQueue" method="post" dojoType="dijit.form.Form"> |
| |
| <div class="editNoteBanner" id="addQueue.editNoteBanner">NOTE: All changes will only take effect after Virtual Host restart.</div> |
| <div class="clear"> |
| <div class="formLabel-labelCell">Queue Name*:</div> |
| <div class="formLabel-controlCell"> |
| <input type="text" id="formAddQueue.name" |
| data-dojo-type="dijit/form/ValidationTextBox" |
| data-dojo-props=" |
| name: 'name', |
| placeHolder: 'queue name', |
| required: true, |
| promptMessage: 'Name of queue', |
| title: 'Enter a queue name', |
| regExp:'^[\x20-\x7F]{1,255}$'"/> |
| </div> |
| </div> |
| <div class="clear"> |
| <div class="formLabel-labelCell">Queue Type:</div> |
| <div class="formLabel-controlCell"> |
| <select id="formAddQueue.type" |
| dojoType="dijit.form.FilteringSelect" |
| data-dojo-props=" |
| name: 'type', |
| value: 'standard', |
| searchAttr: 'name', |
| required: true, |
| promptMessage: 'Type of Queue', |
| title: 'Enter the queue type'"> |
| <option value="standard">Standard</option> |
| <option value="priority">Priority</option> |
| <option value="lvq">LVQ</option> |
| <option value="sorted">Sorted</option> |
| </select> |
| </div> |
| </div> |
| <div class="clear"></div> |
| |
| <div id="formAddQueueType:priority" class="hidden typeSpecificDiv"> |
| <div class="clear"> |
| <div class="formLabel-labelCell">Priorities:</div> |
| <div class="formLabel-controlCell"> |
| <input type="text" id="formAddQueue.priorities" |
| data-dojo-type="dijit/form/ValidationTextBox" |
| data-dojo-props=" |
| name: 'priorities', |
| placeHolder: 'number of priorities', |
| promptMessage: 'Number of priorities supported by the queue', |
| title: 'Enter the number of priorities supported by the queue', |
| trim: true"/> |
| </div> |
| </div> |
| <div class="clear"></div> |
| </div> |
| |
| <div id="formAddQueueType:lvq" class="hidden typeSpecificDiv"> |
| <div class="clear"> |
| <div class="formLabel-labelCell">LVQ Message Property:</div> |
| <div class="formLabel-controlCell"> |
| <input type="text" id="formAddQueue.lvqKey" |
| data-dojo-type="dijit/form/ValidationTextBox" |
| data-dojo-props=" |
| name: 'lvqKey', |
| placeHolder: 'lvq key', |
| promptMessage: 'Name of the message property used to perform the conflation', |
| title: 'Enter the name of the message property used to perform the conflation', |
| trim: true"/> |
| </div> |
| </div> |
| <div class="clear"></div> |
| </div> |
| |
| <div id="formAddQueueType:sorted" class="hidden typeSpecificDiv"> |
| <div class="clear"> |
| <div class="formLabel-labelCell">Sort Message Property*:</div> |
| <div class="formLabel-controlCell"> |
| <input type="text" id="formAddQueue.sortKey" |
| data-dojo-type="dijit/form/ValidationTextBox" |
| data-dojo-props=" |
| name: 'sortKey', |
| placeHolder: 'sort key', |
| promptMessage: 'Name of the message property used for sorting the messages on the queue', |
| title: 'Enter the name of the message property used for sorting the messages on the queue', |
| trim: true"/> |
| </div> |
| </div> |
| <div class="clear"></div> |
| </div> |
| |
| <div class="clear"> |
| <div class="formLabel-labelCell">Durable?</div> |
| <div class="formLabel-controlCell"> |
| <input type="checkbox" id="formAddQueue.durable" |
| dojoType="dijit.form.CheckBox" |
| data-dojo-props=" |
| name: 'durable', |
| value: 'durable', |
| checked: true"/> |
| </div> |
| </div> |
| <div class="clear"> |
| <div class="formLabel-labelCell">Persist Messages?</div> |
| <div class="formLabel-controlCell"> |
| <select id="formAddQueue.messageDurability" |
| dojoType="dijit.form.FilteringSelect" |
| data-dojo-props=" |
| name: 'messageDurability', |
| value: '', |
| searchAttr: 'name', |
| required: false, |
| promptMessage: 'Message persistence override. If not default, messages arriving will have persistence setting overridden', |
| title: 'Enter message persistence override'"> |
| <option value="ALWAYS">Always</option> |
| <option value="DEFAULT">Default</option> |
| <option value="NEVER">Never</option> |
| </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> |
| <legend>Overflow Settings</legend> |
| <div class="clear"> |
| <div class="formLabel-labelCell">Overflow policy:</div> |
| <div class="formLabel-controlCell"> |
| <input type="text" id="formAddQueue.overflowPolicy" |
| data-dojo-type="dijit/form/FilteringSelect" |
| data-dojo-props=" |
| name: 'overflowPolicy', |
| required: false, |
| promptMessage: 'Select overflow policy to use', |
| title: 'Select overflow policy override'"/> |
| </div> |
| </div> |
| <div class="clear"> |
| <div class="formLabel-labelCell">Maximum Queue Depth (Messages):</div> |
| <div class="formLabel-controlCell"> |
| <input type="text" id="formAddQueue.maximumQueueDepthMessages" |
| data-dojo-type="dijit/form/ValidationTextBox" |
| 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', |
| trim: true"/> |
| </div> |
| </div> |
| <div class="clear"> |
| <div class="formLabel-labelCell">Maximum Queue Depth (Bytes):</div> |
| <div class="formLabel-controlCell"> |
| <input type="text" id="formAddQueue.maximumQueueDepthBytes" |
| data-dojo-type="dijit/form/ValidationTextBox" |
| data-dojo-props=" |
| name: 'maximumQueueDepthBytes', |
| placeHolder: 'maximum number of bytes including headers', |
| promptMessage: 'Maximum number of bytes (including headers) in the queue', |
| title: 'Enter the maximum number of bytes (including headers) in the queue', |
| trim: true"/> |
| </div> |
| </div> |
| </fieldset> |
| <div class="clear"></div> |
| </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"/> |
| </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> |
| </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> |
| </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> |
| </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> |
| </div> |
| </fieldset> |
| <div class="clear"></div> |
| </div> |
| |
| <div class="clear formBox"> |
| <fieldset> |
| <legend>Dead Lettering</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 binding', |
| title: 'Enter the maximum number of delivery attempts before the message will be sent to the alternate binding', |
| trim: true"/> |
| </div> |
| </div> |
| <div class="clear"> |
| <div class="formLabel-labelCell">Alternate Binding:</div> |
| <div class="formLabel-controlCell"> |
| <input type="select" id="formAddQueue.alternateBinding" |
| data-dojo-type="qpid/common/DestinationChooser" |
| data-dojo-props=" |
| name: 'alternateBinding', |
| value: ' ', |
| placeHolder: 'alternate binding', |
| promptMessage: 'Alternate binding to redirect messages to', |
| title: 'Select an alternate binding to redirect messages on queue deletion or exceeding of maximum delivery retries'"/> |
| </div> |
| </div> |
| |
| <div class="clear"></div> |
| <div class="infoMessage">Configuring maximum delivery retries on a queue which has no alternate binding (DLQ or exchange) will result in messages being discarded after the limit is reached.</div> |
| </fieldset> |
| </div> |
| <div class="clear formBox"> |
| <fieldset> |
| <legend>Message Grouping</legend> |
| <div class="clear"> |
| <div class="formLabel-labelCell">Message Group Type:</div> |
| <div class="formLabel-controlCell"> |
| <input type="text" id="formAddQueue.messageGroupType" |
| data-dojo-type="dijit/form/FilteringSelect" |
| data-dojo-props=" |
| name: 'messageGroupType', |
| required: false, |
| promptMessage: 'Select message grouping type', |
| title: 'Select message grouping type'"/> |
| </div> |
| |
| </div> |
| <div class="clear"> |
| <div class="formLabel-labelCell">Message Group Key Override:</div> |
| <div class="formLabel-controlCell"> |
| <input type="text" id="formAddQueue.messageGroupKeyOverride" |
| data-dojo-type="dijit/form/ValidationTextBox" |
| data-dojo-props=" |
| name: 'messageGroupKeyOverride', |
| placeHolder: 'message group key override', |
| promptMessage: 'Specifies the name of the message header that provides the value for message grouping purposes. If not set, for AMQP 1.0 the value of the group-id field within the message properties is used. For AMQP 0-8..0-10, the value of the message header JMSXGroupId is used.', |
| title: 'Enter the name of the message property used for message grouping', |
| trim: true"/> |
| </div> |
| </div> |
| </fieldset> |
| </div> |
| <div class="clear formBox"> |
| <fieldset> |
| <legend>Other Settings</legend> |
| |
| <div class="clear"> |
| <div class="formLabel-labelCell">Exclusivity:</div> |
| <div class="formLabel-controlCell"> |
| <input id="formAddQueue.exclusive" |
| data-dojo-type="dijit/form/FilteringSelect" |
| data-dojo-props=" |
| name: 'exclusive', |
| required: false, |
| promptMessage: 'Exclusivity of Queue', |
| title: 'Select the queue exclusivity'"/> |
| </div> |
| </div> |
| <div class="clear"></div> |
| |
| <div class="clear"> |
| <div class="formLabel-labelCell">Hold on Publish Enabled?</div> |
| <div class="formLabel-controlCell"> |
| <input type="checkbox" id="formAddQueue.holdOnPublishEnabled" |
| dojoType="dijit.form.CheckBox" |
| data-dojo-props=" |
| name: 'holdOnPublishEnabled', |
| value: 'holdOnPublishEnabled', |
| checked: false, |
| title: 'If enabled the messages on the queue will be inspected for the x-qpid-not-valid-before header/annotation'"/> |
| </div> |
| </div> |
| </fieldset> |
| <div class="clear"></div> |
| </div> |
| |
| <div class="editorPanel clear" |
| data-dojo-type="dijit/TitlePane" |
| data-dojo-props="title: 'Context variables', open: false"> |
| <div id="formAddQueue.context" |
| data-dojo-type="qpid.common.ContextVariablesEditor" |
| data-dojo-props="name: 'context', title: 'Context variables'"></div> |
| </div> |
| |
| <div class="dijitDialogPaneActionBar qpidDialogPaneActionBar"> |
| <input type="submit" data-dojo-type="dijit/form/Button" id="formAddQueue.saveButton" data-dojo-props="label: 'Save'"/> |
| <button data-dojo-type="dijit/form/Button" id="formAddQueue.cancelButton" data-dojo-props="label: 'Cancel'" ></button> |
| </div> |
| |
| </form> |
| </div> |
| </div> |