Quarkus のプロファイル切り替え方法

目次

概要

開発者としてソフトウェアを作成して実際にデリバリーしていると開発環境なのか本番環境なのかローカル環境なのかによってパラメータを変えたいときってありますよね。

特に利用するのが、データベースの接続先情報や外部連携先の開発環境・本番環境のURLの切り替える必要があるというのが私の経験ではよくありました。

そんなときに、実際に動作する環境に応じてプロファイルを変更するという手段を取るのは普通なことかなと思います。

Spring Boot ならapplication.property ファイルがあると思いますが、application-it.property ファイルを作成しておいて、ACTIVE プロファイルを it で指定すれば動作しましたね。

今回は、Quarkus で ACTIVE プロファイルを変更する方法を試していこうと思います。

application.property の設定

とりあえずデモの為に次のように application.property を作成します。

書き方として、左辺が key, 右辺が value になります。 # はコメントアウトで、%はコメントアウトと思われがちですが、
これが Active プロファイルによって切り替わるよというものになります。

# Configration file
# key = value
test=test
%it.test=it-test
%st.test=st-test
%pr.test=pr-test

ここでは、test という変数名を定義しています。test=test はデフォルトの設定になります。%で指定されている it.test, st.test, pr.test というのは 指定された Active プロファイルに応じて使用されます。

挙動確認

とりあえず動作確認する為に以下のコントローラーを作成します。

@Path("/hello")
public class ApplicationPropertyTestController {

  @ConfigProperty(name = "test")
  private String test;

  @GET
  @Produces(MediaType.TEXT_PLAIN)
  public void hello() {
    System.out.println(test);
  }
}

プロダクトコード内では、フィールドに @ConfigProperty アノテーションを付与します。そしてその中で、name = “test” を参照するように指定しておきます。

この設定をすることで、プロパティファイル内の key が test であるものを探してきて、value を取得して String test に代入してくれます。

この Controller では、/hello という path で GET でアクセスすると、標準出力で test に格納してある値が出てくる仕組みになっています。

この状態で、通常の起動方法で起動しましょう。

mvn compile quarkus:dev

起動したら、別ターミナルを開いて curl を投げてみよう。

curl http://localhost:8080/hello

すると、次のような結果になります。

実行結果

一番下の行に test と出力されたのがわかると思います。
また、起動時に上から6行目くらいに、 Profile dev activated と書かれていると思います。ここでも、どのプロファイルが指定されているかがわかると思います。これはデフォルト設定になります。

Active プロファイルを変更してみる

では、次に Active プロファイルを it に設定して起動してみましょう。起動方法は以下です。

mvn compile quarkus:dev -Dquarkus.profile=it

-Dquarkus.profile=it で指定したことになります。

起動したら、ふたたび curl を投げてみよう。

curl http://localhost:8080/hello

すると、次のような結果になると思います。

実行結果

一番下の行に it-test と出力されたのがわかると思います。
また、起動時に上から6行目くらいに、 Profile it activated と書かれていると思います。

まとめ

こんな感じに Quarkus の Active プロファイルを指定することができます!結論、起動時に次のコマンドを指定するだけで切り替えることができました!Spring Boot と違って一つの application.property で収まるのわかりやすいですね!

-Dquarkus.profile=it

今回は、Quarkus の起動プロファイルを切り替える方法を紹介しました!以上です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

新卒4年目です。spring boot, jquery, vue を使ってフロントエンド開発、quarkus、azure kubernetesを使ってバックエンドを作ってました。 今は、UXデザイナーを目指して勉強中です! よろしくお願いします。

コメント

コメントする

CAPTCHA


目次