The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.

Quarkus 1.12リリース - Fast jarのデフォルト化、RESTEasy ReactiveでMultipartをサポート

Quarkus 1.12.0.Finalのリリースを発表できることを嬉しく思います。

それはいくつかの重要な変更を含みます:

  • Fast jar は、jar をビルドする際のデフォルトのパッケージングになりました。

  • RESTEasy Reactiveは改善を続け、multipartをサポートするようになりました。

  • Vert.x AxleとRX Javaのマネージドインスタンスを削除しました。

  • GraalVM 21.0にアップグレードしました。

移行ガイド

既存のアプリケーションの移行をお考えですか?ここに 1.12の移行ガイドがあります。

変更点

Fast jarのデフォルト化

Quarkusでは、常にいくつかのタイプのjarパッケージを提供してきました。歴史的には、標準のjarパッケージ( -runner.jarlib/ ディレクトリのあるもの)か、uber jarがありました。Quarkus 1.5では、Fast jarと呼ばれる新しいパッケージタイプを導入しました。その主な目的は、ブート時間の更なる改善でした。

Quarkusの時間軸では、1.5は100年前のことを意味し、Fast jarはもうゴールデンアワーの準備ができており、変更を正当化するのに十分な改善をもたらしていると考えています。そのため、1.12からデフォルトにすることを決定しました。

この変更は、生成された成果物が quarkus-app ディレクトリの下に置かれるようになったため、ワークフローに影響を及ぼします。

アプリケーションを以下で起動するのではなく、

java -jar target/my-application-runner-1.0.0-SNAPSHOT.jar

これからは以下で起動します:

java -jar target/quarkus-app/quarkus-run.jar

アプリケーションをデプロイする際には、 quarkus-app ディレクトリ全体をデプロイする必要があります。

また、Dockerfilesもこれを考慮して調整する必要があります。

詳細は 移行ガイド をご覧ください。

ワークフローを変更するタイミングではない場合は、 `application.properties`に以下のプロパティを追加することで、簡単に以前のパッケージングに戻ることができます。

quarkus.package.type=legacy-jar

RESTEasy Reactive

RESTEasy Reactiveの改善を着実に続けており、今回はMultipart対応を導入しました。

RESTEasyのMultipart対応に非常に似ていて、以下のようになります:

import java.util.Map;

import javax.ws.rs.core.MediaType;

import org.jboss.resteasy.reactive.PartType;
import org.jboss.resteasy.reactive.RestForm;
import org.jboss.resteasy.reactive.multipart.FileUpload;

public class FormData {

    @RestForm
    @PartType(MediaType.TEXT_PLAIN)
    public String description;

    @RestForm("image")
    public FileUpload file;
}

それについての詳細は、更新された RESTEasy Reactiveガイドに記載されています。

GraalVM 21

Quarkus 1.12のGraalVMの推奨バージョンはGraalVM 21.0です。

Vert.x AxleとRXのJavaマネージドインスタンスの削除

かなり前から非推奨になっていましたが、今はもうありません。

生のVert.xインスタンスを使用するか、Munityのを利用してください

完全な変更履歴

1.12.0.CR11.12.0.Finalの完全な変更ログは GitHub で取得できます。

Edit: We discovered some issues with the /q namespace introduced in this release that are described here. These issues were resolved in 1.12.1.Final.

ADOPTERS.md

Quarkusの使用に関する情報を共有するために、リポジトリのルートに ADOPTERS.mdファイルを追加しました。

Quarkusをご利用の方で、ブログで取材を受けたい方や、このファイルに単純に追加したい方は、ご連絡いただければ、喜んでお受けいたします。

貢献者

Quarkusコミュニティは成長しており、現在 445人の貢献者がいます。一人ひとりの貢献者に多くの感謝の意を表します。

特に1.12リリースについては、以下の皆様に感謝します: Alex Soto, Alexey Loubyansky, Andy Damevin, artsemstones, Auri Munoz, Bernhard Lutzmann, Bill Burke, Clement Escoffier, Erin Schnabel, Ertunc Aybars, essobedo, Falko Modler, Florian Heubeck, Foivos Zakkak, Galder Zamarreño, Gaétan Collaud, George Gastaldi, Georgios Andrianakis, Guillaume Le Floch, Guillaume Smet, Gwenneg Lepage, Henrique Prange, Ioannis Canellos, Jaikiran Pai, James Netherton, Jan Martiška, JiriOndrusek, Johnnes Souza, Joost Baas, Jose, Jose Ignacio Gil Jaldo, Josef Smrcka, Julien Ponge, Katia Aresti, Ken Finnigan, Knut Wannheden, kstrempel, Ladislav Thon, Loïc Mathieu, Lucas Reeh, Maciej Walkowiak, Mahieddine Cherif, Maik Möwes, manusa, Manyanda Chitimbo, Martin Kouba, Martin Panzer, Matej Novotny, Matej Vasek, Maxime DAVID, Mayank Kunwar, Michał Szynkiewicz, Moritz Becker, mrizzi, Nuno Alves, Oscar, PAPADOPOULOS Nikolaos, Peter Palaga, Petr Široký, Phillip Krüger, René Grob, Robert Stupp, Roberto Cortez, Rostislav Svoboda, Sanne Grinovero, SaumyaSingh1, sebthom, Sergey Beryozkin, S.H, Stuart Douglas, Stéphane Épardaud, Suleimenov Yelzhas, Ted Won, Thomas McWork, Thomas Pfaff, Thomas Segismont, Timothy Power, Tobias Stadler, Vasilis Andritsoudis, Vincent Sevel, xstefank, and Yoann Rodière.

参加のお誘い

私達は皆様からのフィードバックに重きを置いています。バグ報告、改善要望を是非お願いします。一緒に素晴らしいものを作り上げていきましょう!

Quarkusユーザーの場合でも、単に興味を持っているだけの場合でも、恥ずかしがらずにコミュニティに参加して下さい!: