diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-01-03 19:27:29 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-01-03 19:27:29 +0000 |
| commit | ae5fa4bd4157e440aba9dc9eba578ed181336e22 (patch) | |
| tree | e753f8e96b66497028ec1a0432bd193981067e2c /qpid/java/broker-plugins | |
| parent | e497a8527d42a93dce9320b5919cad93aa00a32b (diff) | |
| download | qpid-python-ae5fa4bd4157e440aba9dc9eba578ed181336e22.tar.gz | |
QPID-5437 : [Java Broker] Allow HTTP ports to be bound only to specific interfaces
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1555217 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins')
3 files changed, 15 insertions, 4 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java index 0f5e5e8f58..982b3d9825 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java +++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java @@ -261,6 +261,11 @@ public class HttpManagement extends AbstractPluginAdapter implements HttpManagem throw new IllegalArgumentException("Unexpected transport on port " + port.getName() + ":" + transports); } lastPort = port.getPort(); + String bindingAddress = port.getBindingAddress(); + if(bindingAddress != null && !bindingAddress.trim().equals("") && !bindingAddress.trim().equals("*")) + { + connector.setHost(bindingAddress.trim()); + } connector.setPort(port.getPort()); server.addConnector(connector); } diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html index 59abbadf32..c7676d27b7 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html @@ -42,9 +42,11 @@ data-dojo-props="name:'authenticationProvider',label:'Authentication Provider*:', searchAttr: 'name', required: true, placeHolder: 'Select Provider'"> </select> </div> - <div id="formAddPort:fieldsAMQP"> + <div id="formAddPort:fieldsBindingAddress"> <input id="formAddPort.bindingAddress" type="text" name="bindingAddress" placeholder="*" - dojoType="dijit.form.TextBox" data-dojo-props="label: 'Binding address:'"/> + dojoType="dijit.form.TextBox" data-dojo-props="label: 'Binding address:'"/> + </div> + <div id="formAddPort:fieldsAMQP"> <input id="formAddPort.protocolsDefault" type="checkbox" checked="checked" dojoType="dijit.form.CheckBox" data-dojo-props="label: 'Support default protocols:'"/> <select id="formAddPort.protocolsAMQP" name="protocols" data-dojo-type="dijit.form.MultiSelect" multiple="true" diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js index 18abfa443f..8f2b9cbee3 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js @@ -246,13 +246,15 @@ define(["dojo/_base/xhr", transportWidget.set("disabled", disableTransportWidget); registry.byId("formAddPort.authenticationProvider").set("disabled", isRMI); registry.byId("formAddPort:fieldsAuthenticationProvider").domNode.style.display = isRMI? "none" : "block"; + registry.byId("formAddPort:fieldsBindingAddress").domNode.style.display = newValue == "JMX" ? "none" : "block"; + }); theForm = registry.byId("formAddPort"); var containers = ["formAddPort:fields", "formAddPort:fieldsTransportSSL", "formAddPort:fieldsAMQP", "formAddPort:fieldsJMX", "formAddPort:fieldsHTTP", "formAddPort:transport", - "formAddPort:fieldsClientAuthCheckboxes", "formAddPort:fieldsAuthenticationProvider"]; + "formAddPort:fieldsClientAuthCheckboxes", "formAddPort:fieldsAuthenticationProvider", "formAddPort:fieldsBindingAddress"]; var labelWidthValue = "200"; for(var i = 0; i < containers.length; i++) { @@ -448,8 +450,10 @@ define(["dojo/_base/xhr", { var httpProtocolsWidget = registry.byId("formAddPort.protocolsHTTP"); httpProtocolsWidget.set("disabled", false); - httpProtocolsWidget.set("value", protocols[0]) + httpProtocolsWidget.set("value", protocols[0]); typeWidget.set("value", "HTTP"); + var addressWidget = registry.byId("formAddPort.bindingAddress"); + addressWidget.set("value", port.bindingAddress) } registry.byId("formAddPort:fields" + typeWidget.value).domNode.style.display = "block"; typeWidget.set("disabled", true); |
