2017-05-25 6 views
1

Ich bin eine embedded Jetty App auf Heroku bereitstellen und es überwacht Port 80 für http. Doch beim Start las ich die System.getenv ("PORT") Wert und initialisieren Sie den Anlegesteg Server diesen Port-Wert verwendet wird, etwa so:Heroku-Bereitstellung: Embedded Jetty-Port

if (isproduction) { 
     LOGGER.log(Level.INFO, "System.getenv(\"PORT\"):{0}", System.getenv("PORT")); 
     port = Integer.valueOf(System.getenv("PORT")); 
     baseurl = "http://xxxx-xxxx.herokuapp.com"; 
    } 

    LOGGER.log(Level.INFO, "Starting jetty on port: {0}", port); 
    final Server jettyServer = new Server(port); 
    jettyServer.setHandler(context); 

Die obigen Drucke

2017-05-25T17:34:02.943531+00:00 app[web.1]: INFO: System.getenv("PORT"):45203 
2017-05-25T17:34:02.945234+00:00 app[web.1]: INFO: Starting jetty on port: 45203 

jedoch heroku open aus Die Befehlszeile öffnet die Anwendung an Port 80. Dies ist nicht wirklich ein Problem (die Anwendung ist voll funktionsfähig), aber es ist ein unerwartetes Verhalten. Jeder kann etwas Licht in das Geschehen bringen?

Antwort

0

Wenn Sie itscode betrachten, unterstützt heroku open benutzerdefinierte Ports nicht.

+0

gut, ok, aber die Sache ist, meine ist kein eigener Port. System.getenv ("PORT") ist eine von Heroku beim Start eingestellte Umgebungsvariable. Auch die Frage ist, warum die App auf Port 80 hört, wenn der Jetty-Server mit einem anderen Port gestartet wird. – chrisl08

+0

Was meinst du hört auf 80? Wie erzählst du? – Bartosz

+0

Ich öffne einen Browser und besuche die Willkommensseite der eingerichteten Jetty-Site auf Heroku – chrisl08