1
0

More than 3 years have passed since last update.

Eclipse MicroProfile Healthに触れ合う

Posted at

はじめに

今回は、前にEclipse MicroProfileとはで概要を紹介したEclipse MicroProfile Healthを試してみたいと思います。

始め方

今回も、前にEclipse MicroProfileの始め方で紹介した、
MicroProfile Starterを使っていきます。

image.png

こちらの設定でプロジェクトを作成、ダウンロードします。

ファイル構成は以下のようになっています。

image.png

ビルド、アプリ起動しlocalhost:8080へアクセスすると以下のようなTop画面が用意されています。

image.png

Health status (with custom status ServiceHealthCheck) にアクセスすると以下が表示されます。

image.png

このままだと見にくいので、Firefoxで開きます。

image.png

ヘルスチェック結果が応答できてますね!

実装の解説

ServiceHealthCheck.java
import org.eclipse.microprofile.health.Health;
import org.eclipse.microprofile.health.HealthCheck;
import org.eclipse.microprofile.health.HealthCheckResponse;

import javax.enterprise.context.ApplicationScoped;

// ヘルスチェックを行うことを示すアノテーションだが、最新バージョンでは非推奨となっている。このアノテーションをつける必要がなくなったもの
@Health
@ApplicationScoped
// HealthCheckを実装することにより、チェック項目と応答内容を定義することができる
public class ServiceHealthCheck implements HealthCheck {

    @Override
    public HealthCheckResponse call() {
// ServiceHealthCheckというヘルスチェック項目でUpとなっていることを応答する
        return HealthCheckResponse.named(ServiceHealthCheck.class.getSimpleName()).up().build();

    }
}

ここで、先ほどの応答内容のJsonを見ると、

  • ServiceHealthCheck
  • deadlock
  • diskSpace
  • heapMemory

の4つの項目が返却されています。ServiceHealthCheckについては上記で実装されたものとなりますが、それ以外の3つについては、実装されてませんので、予めHelidon側で用意されたヘルスチェック項目である、と言えます。

チェックの種類

仕様としては、今回紹介した@Health以外にも以下が仕様として定義されています。

  • Readiness チェックとして定義する@Readiness
    • アプリケーションがリクエストを処理する準備ができているかを確認する
  • Liveness チェックとして定義する @Liveness
    • アプリケーションが実行されているかどうかを判断する。これがDownを返却する場合、アプリケーションを破棄(終了、シャットダウン)できることを意味します

まとめ

今回はミニマム構成での説明に止まりましたが、利用開始にあたっての容易さは理解できたのではないでしょうか?
次回はまた別の仕様を試してみたいと思います

参考リンク

  • 公式ドキュメント

MicroProfile Health

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0