Развертывание Java Webapp в Heroku - Ошибка> Ошибка R10 (Тайм-аут загрузки) - PullRequest
3 голосов
/ 22 апреля 2019

У меня возникла проблема при развертывании моего веб-приложения на платформе Heroku, поскольку я не могу выполнить REST-вызов веб-приложения.
Я просмотрел журналы, возвращается следующее:

2019-04-22T17:58:53.942100+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch
2019-04-22T17:58:53.942570+00:00 heroku[web.1]: Stopping process with SIGKILL
2019-04-22T17:58:54.082855+00:00 heroku[web.1]: State changed from starting to crashed
2019-04-22T17:58:54.062137+00:00 heroku[web.1]: Process exited with status 137

Я провел некоторое исследование этой ошибки и реализовал различные решения ( одно из разрешений ) длярешить это, но не в состоянии это сделать.Я видел какое-то решение о реализации 0.0.0.0 в качестве хоста, но в моем коде я не использую хосты и не знаю, где его реализовать, если мне нужно.

Main.java

public static void main(String[] args) throws Exception{
        // The port that we should run on can be set into an environment variable
        // Look for that variable and default to 8080 if it isn't there.
        String webPort = System.getenv("PORT");
        if (webPort == null || webPort.isEmpty()) {
            webPort = "8080";
        }

        System.out.println("Webport in use: " + webPort);

        final Server server = new Server(Integer.valueOf(webPort));
        final WebAppContext root = new WebAppContext();

        root.setContextPath("/");
        // Parent loader priority is a class loader setting that Jetty accepts.
        // By default Jetty will behave like most web containers in that it will
        // allow your application to replace non-server libraries that are part of the
        // container. Setting parent loader priority to true changes this behavior.
        // Read more here: http://wiki.eclipse.org/Jetty/Reference/Jetty_Classloading
        root.setParentLoaderPriority(true);

        final String webappDirLocation = "src/main/webapp/";
        root.setDescriptor(webappDirLocation + "/WEB-INF/web.xml");
        root.setResourceBase(webappDirLocation);

        server.setHandler(root);

        server.start();
        server.join();
    }

Procfile -

web: java $JAVA_OPTS -Dserver.port=$PORT -cp target/classes:target/dependency/* com.example.heroku.Main

Также нашел это в журналах:

2019-04-22T17:57:23.846721+00:00 heroku[web.1]: Starting process with command `java $JAVA_OPTS -Dserver.port=48973 -cp target/classes:target/dependency/* com.example.heroku.Main`

Я следил Учебное пособие по началу работы в Джерси ,
Любая помощь приветствуется.

...