blob: 21296c97e3976e65dc7855f431a46da62162db0d [file] [log] [blame]
<!--
-
- 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>