Repository: quarkusio/quarkus
Issue: Random HTTP port is shown as zero in the startup logs

**Describe the bug**
Quarkus 0.22.0 allowed starting a service in a random port by specifying 0 as the HTTP port. Quarkus 999-SNAPSHOT does not.

**Expected behavior**
The Quarkus application should start in a random port

**Actual behavior**
It starts in port 0 (?) and doesn't show the assigned port

**To Reproduce**
Steps to reproduce the behavior:
1. `mvn io.quarkus:quarkus-maven-plugin:0.22.0:create -DprojectGroupId=org.acme -DprojectArtifactId=getting-started -DclassName="org.acme.quickstart.GreetingResource" -Dpath="/hello"`
2. Add `quarkus.http.port=0` to application.properties
3. Look at the logs

**Configuration**
```properties
quarkus.http.port=0
```

**Environment (please complete the following information):**
 - Output of `uname -a` or `ver`: `Linux ggastald-laptop 5.2.13-200.fc30.x86_64 #1 SMP Fri Sep 6 14:30:40 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux`
 - Output of `java -version`: 
```
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_212-b03)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.212-b03, mixed mode)
```
 - GraalVM version (if different from Java): 
 - Quarkus version or git rev: bf2440135785244b174ff19432aa46a1f873b7ea (master branch)

**Additional context**

This is the output in Quarkus 0.22.0: 
```
2019-09-18 16:29:09,130 INFO  [io.quarkus] (main) Quarkus 0.22.0 started in 0.954s. Listening on: http://[::]:36127
```

This is the output in Quarkus 999-SNAPSHOT:

```
2019-09-18 16:28:44,116 INFO  [io.quarkus] (main) Quarkus 999-SNAPSHOT started in 1.080s. Listening on: http://0.0.0.0:0
```

Changed files:
extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java

diff --git a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java
index 8f70d6b801d..c6c2e278fa9 100644
--- a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java
+++ b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java
@@ -375,18 +375,24 @@ public WebDeploymentVerticle(int port, int httpsPort, String host, HttpServerOpt
         @Override
         public void start(Future<Void> startFuture) throws Exception {
             final AtomicInteger remainingCount = new AtomicInteger(httpsOptions != null ? 2 : 1);
-            Handler<AsyncResult<HttpServer>> doneHandler = event -> {
+            httpServer = vertx.createHttpServer(httpOptions);
+            httpServer.requestHandler(router);
+            httpServer.listen(port, host, event -> {
+                // Port may be random, so set the actual port
+                httpOptions.setPort(event.result().actualPort());
                 if (remainingCount.decrementAndGet() == 0) {
                     startFuture.complete();
                 }
-            };
-            httpServer = vertx.createHttpServer(httpOptions);
-            httpServer.requestHandler(router);
-            httpServer.listen(port, host, doneHandler);
+            });
             if (httpsOptions != null) {
                 httpsServer = vertx.createHttpServer(httpsOptions);
                 httpsServer.requestHandler(router);
-                httpsServer.listen(httpsPort, host, doneHandler);
+                httpsServer.listen(httpsPort, host, event -> {
+                    httpsOptions.setPort(event.result().actualPort());
+                    if (remainingCount.decrementAndGet() == 0) {
+                        startFuture.complete();
+                    }
+                });
             }
         }