Author: kwall Date: Wed Feb 25 08:34:43 2015 New Revision: 1662181 URL: http://svn.apache.org/r1662181 Log: QPID-6408: [Java Broker] Expose the AMQP connection limits through the web management UI
Merged with command: svn merge -c 1661741 https://svn.apache.org/repos/asf/qpid/trunk Modified: qpid/branches/0.32/ (props changed) qpid/branches/0.32/qpid/ (props changed) qpid/branches/0.32/qpid/java/ (props changed) qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showPort.html qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html Propchange: qpid/branches/0.32/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Feb 25 08:34:43 2015 @@ -3,4 +3,4 @@ /qpid/branches/java-broker-bdb-ha2:1576683-1583556 /qpid/branches/java-network-refactor:805429-825319 /qpid/branches/mcpierce-QPID-4719:1477004-1477093 -/qpid/trunk:1661162,1661165-1661166,1661207,1661530-1661531,1661693,1661929 +/qpid/trunk:1661162,1661165-1661166,1661207,1661530-1661531,1661693,1661741,1661929 Propchange: qpid/branches/0.32/qpid/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Feb 25 08:34:43 2015 @@ -6,4 +6,4 @@ /qpid/branches/mcpierce-QPID-4719/qpid:1477004-1477093 /qpid/branches/qpid-2935/qpid:1061302-1072333 /qpid/branches/qpid-3346/qpid:1144319-1179855 -/qpid/trunk/qpid:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661929 +/qpid/trunk/qpid:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929 Propchange: qpid/branches/0.32/qpid/java/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Feb 25 08:34:43 2015 @@ -9,4 +9,4 @@ /qpid/branches/java-network-refactor/qpid/java:805429-821809 /qpid/branches/qpid-2935/qpid/java:1061302-1072333 /qpid/trunk/qpid:796646-796653 -/qpid/trunk/qpid/java:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661929 +/qpid/trunk/qpid/java:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929 Modified: qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html?rev=1662181&r1=1662180&r2=1662181&view=diff ============================================================================== --- qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html (original) +++ qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html Wed Feb 25 08:34:43 2015 @@ -159,6 +159,23 @@ </div> </div> + <div id="formAddPort:maxOpenConnections" > + <div class="clear"> + <div class="formLabel-labelCell"> + <label for="formAddPort.transports">Maximum number of connections:</label> + </div> + <div class="formLabel-controlCell"> + <input id="formAddPort.maxOpenConnections" type="text" + data-dojo-type="dijit.form.ValidationTextBox" + data-dojo-props=" + name: 'maxOpenConnections', + placeHolder: 'maximum number of connections', + promptMessage: 'Maximum number of concurrent connections permitted by this port. The <code>-1</code> signifies no limit is imposed.', + title: 'Enter a maximum number of connections'"/> + </div> + </div> + </div> + <div id="formAddPort:fieldsTransportSSL"> <div class="clear"> <div class="formLabel-labelCell"> Modified: qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js?rev=1662181&r1=1662180&r2=1662181&view=diff ============================================================================== --- qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js (original) +++ qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js Wed Feb 25 08:34:43 2015 @@ -737,6 +737,11 @@ define(["dojo/_base/xhr", return "^(\\d+)|" + singleContextVarRegexp + "$"; } + util.signedOrContextVarRegexp = function(constraints) + { + return "^(-?\\d+)|" + singleContextVarRegexp + "$"; + } + util.nameOrContextVarRegexp = function(constraints) { return "^(\\w+)|" + singleContextVarRegexp + "$"; Modified: qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js?rev=1662181&r1=1662180&r2=1662181&view=diff ============================================================================== --- qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js (original) +++ qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js Wed Feb 25 08:34:43 2015 @@ -138,12 +138,15 @@ define(["dojo/dom", "needClientAuthValue", "wantClientAuthValue", "trustStoresValue", + "connectionCountValue", + "maxOpenConnectionsValue", "authenticationProvider", "bindingAddress", "keyStore", "needClientAuth", "wantClientAuth", - "trustStores" + "trustStores", + "maxOpenConnections" ]); this.query = url; @@ -151,6 +154,7 @@ define(["dojo/dom", xhr.get({url: this.query, sync: properties.useSyncGet, handleAs: "json"}).then(function(data) { that.portData = data[0]; + util.flattenStatistics( that.portData ); that.updateHeader(); }); @@ -178,6 +182,9 @@ define(["dojo/dom", this.protocolsValue.innerHTML = printArray( "protocols", this.portData); this.transportsValue.innerHTML = printArray( "transports", this.portData); this.bindingAddressValue.innerHTML = this.portData[ "bindingAddress" ] ? entities.encode(String(this.portData[ "bindingAddress" ])) : "" ; + this.connectionCountValue.innerHTML = this.portData[ "connectionCount" ] ? entities.encode(String(this.portData[ "connectionCount" ])) : "0" ; + this.maxOpenConnectionsValue.innerHTML = (this.portData[ "maxOpenConnections" ] && this.portData[ "maxOpenConnections" ] >= 0) ? entities.encode(String(this.portData[ "maxOpenConnections" ])) : "(no limit)" ; + this.keyStoreValue.innerHTML = this.portData[ "keyStore" ] ? entities.encode(String(this.portData[ "keyStore" ])) : ""; this.needClientAuthValue.innerHTML = "<input type='checkbox' disabled='disabled' "+(this.portData[ "needClientAuth" ] ? "checked='checked'": "")+" />" ; this.wantClientAuthValue.innerHTML = "<input type='checkbox' disabled='disabled' "+(this.portData[ "wantClientAuth" ] ? "checked='checked'": "")+" />" ; @@ -191,6 +198,9 @@ define(["dojo/dom", this.needClientAuth.style.display = "needClientAuth" in typeMetaData.attributes ? "block" : "none"; this.wantClientAuth.style.display = "wantClientAuth" in typeMetaData.attributes ? "block" : "none"; this.trustStores.style.display = "trustStores" in typeMetaData.attributes ? "block" : "none"; + + this.maxOpenConnections.style.display = "maxOpenConnections" in typeMetaData.attributes ? "block" : "none"; + }; PortUpdater.prototype.update = function() @@ -201,6 +211,7 @@ define(["dojo/dom", xhr.get({url: this.query, sync: properties.useSyncGet, handleAs: "json"}).then(function(data) { thisObj.portData = data[0]; + util.flattenStatistics( thisObj.portData ); thisObj.updateHeader(); }); }; Modified: qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js?rev=1662181&r1=1662180&r2=1662181&view=diff ============================================================================== --- qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js (original) +++ qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js Wed Feb 25 08:34:43 2015 @@ -79,6 +79,10 @@ define(["dojo/_base/xhr", registry.byId("formAddPort.bindingAddress").set("disabled", ! ("bindingAddress" in typeMetaData.attributes)); dom.byId("formAddPort:fieldsBindingAddress").style.display = "bindingAddress" in typeMetaData.attributes ? "block" : "none"; + //maxOpenConnections + registry.byId("formAddPort.maxOpenConnections").set("disabled", ! ("maxOpenConnections" in typeMetaData.attributes)); + dom.byId("formAddPort:maxOpenConnections").style.display = "maxOpenConnections" in typeMetaData.attributes ? "block" : "none"; + //transports var transportsMultiSelect = dom.byId("formAddPort.transports"); var transportsValidValues = typeMetaData.attributes.transports.validValues; @@ -314,6 +318,7 @@ define(["dojo/_base/xhr", var nameWidget = registry.byId("formAddPort.name"); var typeWidget = registry.byId("formAddPort.type"); var portWidget = registry.byId("formAddPort.port"); + var maxOpenConnectionsWidget = registry.byId("formAddPort.maxOpenConnections"); var editWarning = dojo.byId("portEditWarning"); var providerWidget = registry.byId("formAddPort.authenticationProvider"); @@ -418,6 +423,13 @@ define(["dojo/_base/xhr", bindAddressWidget.set("disabled", ! ("bindingAddress" in typeMetaData.attributes)); dom.byId("formAddPort:fieldsBindingAddress").style.display = "bindingAddress" in typeMetaData.attributes ? "block" : "none"; + //maxOpenConnections + var maxOpenConnectionsWidget = registry.byId("formAddPort.maxOpenConnections"); + maxOpenConnectionsWidget.set("regExpGen", util.signedOrContextVarRegexp); + maxOpenConnectionsWidget.set("value", port.maxOpenConnections ? port.maxOpenConnections : ""); + maxOpenConnectionsWidget.set("disabled", ! ("maxOpenConnections" in typeMetaData.attributes)); + dom.byId("formAddPort:maxOpenConnections").style.display = "maxOpenConnections" in typeMetaData.attributes ? "block" : "none"; + //ssl keystoreWidget.set("value", port.keyStore ? port.keyStore : ""); if (port.trustStores) @@ -447,6 +459,7 @@ define(["dojo/_base/xhr", truststoreWidget.initialValue = port.trustStores; transportWidget.initialValue = transportWidget.value; providerWidget.initialValue = providerWidget.value; + maxOpenConnectionsWidget.initialValue = maxOpenConnectionsWidget.value; registry.byId("addPort").show(); util.applyMetadataToWidgets(registry.byId("addPort").domNode, "Port", portType); @@ -465,8 +478,8 @@ define(["dojo/_base/xhr", nameWidget.set("disabled", false); nameWidget.set("regExpGen", util.nameOrContextVarRegexp); - portWidget.set("regExpGen", util.numericOrContextVarRegexp); + maxOpenConnectionsWidget.set("regExpGen", util.signedOrContextVarRegexp); editWarning.style.display = "none"; registry.byId("addPort").show(); Modified: qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showPort.html URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showPort.html?rev=1662181&r1=1662180&r2=1662181&view=diff ============================================================================== --- qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showPort.html (original) +++ qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showPort.html Wed Feb 25 08:34:43 2015 @@ -25,61 +25,72 @@ <div class="formLabel-labelCell">Name:</div> <div class="nameValue"></div> </div> + <div class="clear"></div> + <div class="alignLeft"> + <div class="clear type"> + <div class="formLabel-labelCell">Port Type:</div> + <div class="formValue-valueCell typeValue"></div> + </div> + </div> + <div class="alignRight"> + <div class="clear maxOpenConnections"> + <div class="formLabel-labelCell">Open connections (current/maximum):</div> + <div class="formValue-valueCell"> + <span class="connectionCountValue"></span><span>/</span><span class="maxOpenConnectionsValue"></span> + </div> + </div> + </div> - <div class="clear type"> - <div class="formLabel-labelCell">Port Type:</div> - <div class="typeValue"></div> - </div> - - <div class="clear state"> + <div class="clear state"> <div class="formLabel-labelCell">State:</div> - <div class="stateValue"></div> - </div> + <div class="formValue-valueCell stateValue"></div> + </div> - <div class="clear port"> + <div class="clear port"> <div class="formLabel-labelCell">Port Number:</div> - <div class="portValue"></div> - </div> + <div class="formValue-valueCell portValue"></div> + </div> - <div class="clear protocols"> + <div class="clear protocols"> <div class="formLabel-labelCell">Protocols:</div> - <div class="protocolsValue multiLineValue"></div> - </div> + <div class="formValue-valueCell protocolsValue multiLineValue"></div> + </div> <div class="clear authenticationProvider"> - <div class="formLabel-labelCell">Authentication Provider:</div> - <div class="authenticationProviderValue"></div> + <div class="formLabel-labelCell">Authentication Provider:</div> + <div class="formValue-valueCell authenticationProviderValue"></div> </div> <div class="clear bindingAddress"> - <div class="formLabel-labelCell">Binding address:</div> - <div class="bindingAddressValue"></div> + <div class="formLabel-labelCell">Binding address:</div> + <div class="formValue-valueCell bindingAddressValue"></div> </div> <div class="clear transports"> <div class="formLabel-labelCell">Transports:</div> - <div class="transportsValue multiLineValue"></div> - </div> + <div class="formValue-valueCell transportsValue multiLineValue"></div> + </div> - <div class="clear keyStore"> - <div class="formLabel-labelCell">Key Store:</div> - <div class="keyStoreValue"></div> - </div> + <div class="clear keyStore"> + <div class="formLabel-labelCell">Key Store:</div> + <div class="formValue-valueCell keyStoreValue"></div> + </div> - <div class="clear needClientAuth"> - <div class="formLabel-labelCell">Need SSL Client Certificate:</div> - <div class="needClientAuthValue"></div> - </div> + <div class="clear needClientAuth"> + <div class="formLabel-labelCell">Need SSL Client Certificate:</div> + <div class="formValue-valueCell needClientAuthValue"></div> + </div> - <div class="clear wantClientAuth"> - <div class="formLabel-labelCell">Want SSL Client Certificate:</div> - <div class="wantClientAuthValue"></div> - </div> + <div class="clear wantClientAuth"> + <div class="formLabel-labelCell">Want SSL Client Certificate:</div> + <div class="formValue-valueCell wantClientAuthValue"></div> + </div> + + <div class="clear trustStores"> + <div class="formLabel-labelCell">Trust Stores:</div> + <div class="formValue-valueCell trustStoresValue multiLineValue"></div> + </div> - <div class="clear trustStores"> - <div class="formLabel-labelCell">Trust Stores:</div> - <div class="trustStoresValue multiLineValue"></div> - </div> <div class="clear"></div> </div> <br/> Modified: qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html?rev=1662181&r1=1662180&r2=1662181&view=diff ============================================================================== --- qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html (original) +++ qpid/branches/0.32/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html Wed Feb 25 08:34:43 2015 @@ -25,7 +25,7 @@ <div class="formLabel-labelCell">Name:</div> <div class="name formValue-valueCell"></div> </div> - <div class="clear"> + <div class="clear"></div> <div class="alignLeft"> <div class="clear"> <div class="formLabel-labelCell">Type:</div> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
