You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2016/12/27 20:47:51 UTC

svn commit: r1776191 - in /qpid/java/trunk: broker-core/src/main/java/org/apache/qpid/server/model/ broker-core/src/main/java/org/apache/qpid/server/model/port/ broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/

Author: kwall
Date: Tue Dec 27 20:47:51 2016
New Revision: 1776191

URL: http://svn.apache.org/viewvc?rev=1776191&view=rev
Log:
QPID-7597: [Java Broker] Expose Port#boundPort

Modified:
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Port.java
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPortImpl.java
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/PortManager.java
    qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Port.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Port.java?rev=1776191&r1=1776190&r2=1776191&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Port.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Port.java Tue Dec 27 20:47:51 2016
@@ -59,9 +59,14 @@ public interface Port<X extends Port<X>>
 
     // Attributes
 
-    @ManagedAttribute( mandatory = true )
+    @ManagedAttribute( mandatory = true, description = "Port used to accept incoming connections. A value of 0"
+                                                       + " will cause a dynamically allocated port to be assigned.")
     int getPort();
 
+    @DerivedAttribute( description = "Actual port used to accept incoming connections. Will be -1 if the port"
+                                     + " is not currently bound.")
+    int getBoundPort();
+
     @ManagedAttribute
     Set<Protocol> getProtocols();
 

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java?rev=1776191&r1=1776190&r2=1776191&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java Tue Dec 27 20:47:51 2016
@@ -111,6 +111,7 @@ public class AmqpPortImpl extends Abstra
     private SSLContext _sslContext;
     private volatile int _connectionWarnCount;
     private volatile long _protocolHandshakeTimeout;
+    private volatile int _boundPort = -1;
 
     @ManagedObjectFactoryConstructor
     public AmqpPortImpl(Map<String, Object> attributes, Container<?> container)
@@ -241,6 +242,7 @@ public class AmqpPortImpl extends Abstra
                                                                defaultSupportedProtocolReply);
 
                 _transport.start();
+                _boundPort = _transport.getAcceptingPort();
                 for (Transport transport : getTransports())
                 {
                     _container.getEventLogger()
@@ -286,6 +288,12 @@ public class AmqpPortImpl extends Abstra
     }
 
     @Override
+    public int getBoundPort()
+    {
+        return _boundPort;
+    }
+
+    @Override
     public void validateOnCreate()
     {
         super.validateOnCreate();

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPortImpl.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPortImpl.java?rev=1776191&r1=1776190&r2=1776191&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPortImpl.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPortImpl.java Tue Dec 27 20:47:51 2016
@@ -72,6 +72,11 @@ public class HttpPortImpl extends Abstra
         _portManager = manager;
     }
 
+    @Override
+    public int getBoundPort()
+    {
+        return _portManager == null ? -1 : _portManager.getBoundPort(this);
+    }
 
     @Override
     public String getBindingAddress()

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/PortManager.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/PortManager.java?rev=1776191&r1=1776190&r2=1776191&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/PortManager.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/port/PortManager.java Tue Dec 27 20:47:51 2016
@@ -25,4 +25,6 @@ import org.apache.qpid.server.model.Port
 public interface PortManager
 {
     boolean isActivationAllowed(Port<?> port);
+
+    int getBoundPort(HttpPort httpPort);
 }

Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java?rev=1776191&r1=1776190&r2=1776191&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java Tue Dec 27 20:47:51 2016
@@ -393,6 +393,20 @@ public class HttpManagement extends Abst
         return server;
     }
 
+    @Override
+    public int getBoundPort(final HttpPort httpPort)
+    {
+        Connector c = _portConnectorMap.get(httpPort);
+        if (c != null)
+        {
+            return c.getLocalPort();
+        }
+        else
+        {
+            return -1;
+        }
+    }
+
     private SelectChannelConnector createConnector(final HttpPort<?> port)
     {
         port.setPortManager(this);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org