You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2019/07/26 06:13:52 UTC

svn commit: r1863772 - /felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java

Author: cziegeler
Date: Fri Jul 26 06:13:52 2019
New Revision: 1863772

URL: http://svn.apache.org/viewvc?rev=1863772&view=rev
Log:
FELIX-6160 : Dynamic HTTP(S) port assignment does not work with HTTP Jetty

Modified:
    felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java

Modified: felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java?rev=1863772&r1=1863771&r2=1863772&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java (original)
+++ felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java Fri Jul 26 06:13:52 2019
@@ -297,6 +297,10 @@ public final class JettyConfig
      */
     private volatile Dictionary<String, ?> config;
 
+    private volatile Integer httpPort;
+
+    private volatile Integer httpsPort;
+
     public JettyConfig(final BundleContext context)
     {
         this.context = context;
@@ -356,12 +360,18 @@ public final class JettyConfig
 
     public int getHttpPort()
     {
-        return determinePort(String.valueOf(getProperty(HTTP_PORT)), 8080);
+        if (httpPort == null) {
+            httpPort = determinePort(String.valueOf(getProperty(HTTP_PORT)), 8080);
+        }
+        return httpPort;
     }
 
     public int getHttpsPort()
     {
-        return determinePort(String.valueOf(getProperty(HTTPS_PORT)), 8443);
+        if (httpsPort == null) {
+            httpsPort = determinePort(String.valueOf(getProperty(HTTPS_PORT)), 8443);
+        }
+        return httpsPort;
     }
 
     public int getHttpTimeout()
@@ -701,6 +711,10 @@ public final class JettyConfig
             props = new Hashtable<>();
         }
 
+        // clear cached ports
+        this.httpPort = null;
+        this.httpsPort = null;
+
         // FELIX-4312 Check whether there's something changed in our configuration...
         Dictionary<String, ?> currentConfig = this.config;
         if (currentConfig == null || !props.equals(currentConfig))