Procfile best practices for Spring Boot application?

0

We are switching from Tomcat to Spring boot based deployment. So far everything seems to be working perfectly - with one minor issue: if we tell EBS to restart an Application Server it does restart the Process, but it does come back as if it has failed.

We are reading some env variables to properly configure the startup. That is why we have a script starting the application:

Procfile

web: chmod +x lem-webapp.sh; ./startup-webapp.sh

startup-webapp.sh

#!/bin/sh
exec /etc/alternatives/jre/bin/java $JAVA_OPTS -cp 'lib/*' --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED our.nice.Application
質問済み 2年前1018ビュー
1回答
0

Hello there,

Here are some good practices for defining a Procfile for your application:

  • Put it in the root directory of your application source.

  • Use a Procfile for long-running application processes that shouldn't exit. Elastic Beanstalk monitors these processes and restarts any process that terminates.

  • All paths in the Procfile are relative to the root of the source bundle.

Example Procfile:

web: java -jar server.jar -Xms256m
cache: java -jar mycache.jar
web_foo: java -jar other.jar

In your case, you mention but it does come back as if it has failed, to better understand the issue, I would recommend you to check the logs on the instances. Elastic Beanstalk names the log files after the process and stores them in /var/log. For example, the web process in the preceding example generates logs named web-1.log and web-1.error.log for stdout and stderr, respectively.

Feel free to open a support case to AWS Premium Support if you want us to take a closer look into your logs file.

サポートエンジニア
回答済み 2年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ