web-dev-qa-db-ja.com

SpringBootアプリケーションが実行されているかどうかを確認する

Spring Bootプロジェクトを作成し、VMにデプロイしました。再起動時にSpringBootアプリケーションを起動するコマンドをlocal.rcに追加しました。コマンドが実行され、アプリケーションが実行されているかどうかを確認したいと思います。それ、どうやったら出来るの?

2
Rohan RM

2つの方法があります

  1. システムレベルでは、プロジェクトをサービスとして実行できます。これは、 公式ドキュメント-デプロイメント に記載されています。次に、アプリケーションのステータスservice myapp statusを照会できます。

  2. アプリケーションレベルでは、Spring Boot Actuatorをアプリに含め、/actuator/healthなどのActuatorエンドポイントを使用します 公式ドキュメント-Production Ready Endpoints 。これらのエンドポイントは、 HTTPまたはJMX を介して公開できます。

注:Spring Boot 2.0より前では、アクチュエータのエンドポイントは/healthです。

3
Michal

Webプロジェクトの場合は、spring-boot-actuatorを含めるのが理にかなっています(mavenに依存関係を追加して、マイクロサービスを開始するだけです)。

この場合、次のエンドポイントが自動的に公開されます(たとえば、実際には柔軟に設定できます)。

http://<Host>:<PORT>/health

HTTP GETリクエストを発行するだけで、200を取得すると、稼働しています。

アクチュエータを使用するオプションがない場合(実際には最初の賭けとして対処する必要がありますが)、http://<Host>:<PORT>にtelnetで接続するだけです。

この背後にある比率は、そのPORTが公開され、アプリケーションコンテキストが実際に開始された後にのみ外部接続を「リッスン」する準備ができていることです。

0
Mark Bramnik