summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-01-03 19:27:29 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-01-03 19:27:29 +0000
commit25f5c4109ee975a60c6a597f10d22989062a98cb (patch)
treef141093426df424b9e6d02940733f5ab7225f37f /java
parent87626cb7c371957e485ddef2e944adddf9c58637 (diff)
downloadqpid-python-25f5c4109ee975a60c6a597f10d22989062a98cb.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/qpid@1555217 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java5
-rw-r--r--java/broker-plugins/management-http/src/main/java/resources/addPort.html6
-rw-r--r--java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js8
3 files changed, 15 insertions, 4 deletions
diff --git a/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java b/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
index 0f5e5e8f58..982b3d9825 100644
--- a/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
+++ b/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/java/broker-plugins/management-http/src/main/java/resources/addPort.html b/java/broker-plugins/management-http/src/main/java/resources/addPort.html
index 59abbadf32..c7676d27b7 100644
--- a/java/broker-plugins/management-http/src/main/java/resources/addPort.html
+++ b/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/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js b/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js
index 18abfa443f..8f2b9cbee3 100644
--- a/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js
+++ b/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);