最新指南
Tutorials
Short and focused exercises to get you going quickly.
Collect metrics using Micrometer
Create an application that uses the Micrometer metrics library to collect runtime, extension and application metrics and expose them as a Prometheus (OpenMetrics) endpoint.
Creating a tutorial
Create a new tutorial that guides users through creating, running, and testing a Quarkus application that uses annotations from an imaginary extension.
Getting started with Security by using Basic authentication and Jakarta Persistence
Get started with Quarkus Security by securing your Quarkus application endpoints with the built-in Quarkus Basic authentication and the Jakarta Persistence identity provider, enabling role-based access control.
Migrate from OpenTracing to OpenTelemetry tracing
Migrate an application from OpenTracing to OpenTelemetry tracing in Quarkus 3.x.
OpenID Connect client and token propagation quickstart
Learn how to use OpenID Connect (OIDC) and OAuth2 clients with filters to get, refresh, and propagate access tokens in your applications.
Protect Quarkus web application by using an Auth0 OpenID Connect provider
Quarkus Security provides comprehensive OpenId Connect (OIDC) and OAuth2 support with its quarkus-oidc extension, supporting both Authorization code flow and Bearer token authentication mechanisms.
Protect a service application by using OpenID Connect (OIDC) Bearer token authentication
Use the Quarkus OpenID Connect (OIDC) extension to secure a Jakarta REST application with Bearer token authentication.
Protect a web application by using OpenID Connect (OIDC) authorization code flow
Discover how to secure application HTTP endpoints by using the Quarkus OpenID Connect (OIDC) authorization code flow mechanism with the Quarkus OIDC extension, providing robust authentication and authorization.
Your second Quarkus application
Discover some of the features that make developing with Quarkus a joyful experience.
How-to Guides
Step-by-step guides to covering key tasks, real world operations and common problems.
Contribute to Quarkus documentation
Contribute to the documentation by using the recommended diataxis content types, steps, workflow, and style guidance to ensure the content successfully renders on the Quarkus website portal.
Dev Services and Dev UI for OpenID Connect (OIDC)
You can use Dev Services for Keycloak and the Dev UI for the OpenID Connect (OIDC) Keycloak provider and adapt these services for other OpenID Connect providers.
Enable Basic authentication
Enable Basic authentication for your Quarkus project and allow users to authenticate with a username and password.
Quarkus Security with Jakarta Persistence
You can configure your application to use Jakarta Persistence to store users’ identities.
Update projects to the latest Quarkus version
Learn how to upgrade your projects to the latest version of Quarkus
Using OpenID Connect (OIDC) and Keycloak to centralize authorization
Learn how to enable bearer token authorization in your Quarkus application using Keycloak Authorization Services for secure access to protected resources.
Using OpenID Connect (OIDC) multitenancy
This guide demonstrates how your OpenID Connect (OIDC) application can support multitenancy to serve multiple tenants from a single application.
YAML configuration
Optionally, use application.yaml
instead of application.properties
to configure your application.
Concepts
Explanations of some of the larger concepts and technologies involved with Quarkus.
Authentication mechanisms in Quarkus
The Quarkus Security framework supports multiple authentication mechanisms, which you can use to secure your applications.
Basic authentication
HTTP Basic authentication is one of the least resource-demanding techniques that enforce access controls to web resources.
Configuring Well-Known OpenID Connect Providers
This document explains how to configure well-known social OIDC and OAuth2 providers.
Cross-Origin 资源共享
Cross-origin resource sharing (CORS) is an HTTP-header-based mechanism that allows a server to indicate any origins other than its own, from which a browser should permit loading resources.
Duplicated context, context locals, asynchronous processing and propagation
When using a traditional, blocking, and synchronous framework, processing of each request is performed in a dedicated thread.
OpenID Connect (OIDC) Bearer token authentication
Secure HTTP access to Jakarta REST (formerly known as JAX-RS) endpoints in your application with Bearer token authentication by using the Quarkus OpenID Connect (OIDC) extension.
OpenID Connect authorization code flow mechanism for protecting web applications
To protect your web applications, you can use the industry-standard OpenID Connect (OIDC) Authorization Code Flow mechanism provided by the Quarkus OIDC extension.
Quarkus Security architecture
The Quarkus Security architecture provides several built-in authentication mechanisms and is highly customizable.
Quarkus Security overview
Quarkus Security is a framework that provides the architecture, multiple authentication and authorization mechanisms, and other tools to build secure and production-quality Java applications.
Quarkus documentation content types
Quarkus documentation is structured into four distinct content types: concepts, how-tos, tutorials, and references.
Security vulnerability detection and reporting in Quarkus
Most of the Quarkus tags are registered in the US National Vulnerability Database (NVD) in Common Platform Enumeration (CPE) name format.
主动认证
Learn how to manage proactive authentication in Quarkus, including customizing settings and handling exceptions.
身份提供者(Identity Providers)
In the Quarkus Security framework, identity providers play a crucial role in authentication and authorization by verifying user identities.
References
Technical Resource that covers tools, components, and commands. The encyclopedia for Quarkus.
Quarkus Cheat Sheet
Configure data sources in Quarkus
Use a unified configuration model to define data sources for Java Database Connectivity (JDBC) and Reactive drivers.
Infinispan Client Extension Reference Guide
Infinispan is an in memory distributed data store and cache server that offers flexible deployment options and robust capabilities for storing, managing, and processing data.
Logging configuration
Read about the use of logging API in Quarkus, configuring logging output, and using logging adapters to unify the output from other logging APIs.
Micrometer Metrics
Use Micrometer to collect metrics produced by Quarkus, its extensions, and your application.
Native Reference Guide
This guide is a companion to the Building a Native Executable, Using SSL With Native Images, and Writing Native Applications, guides.
OpenID Connect (OIDC) and OAuth2 client and filters
You can use Quarkus extensions for OpenID Connect and OAuth 2.0 access token management, focusing on acquiring, refreshing, and propagating tokens.
OpenID Connect (OIDC) configuration properties
As a Quarkus developer, you configure the Quarkus OpenID Connect (OIDC) extension by setting the following properties in the src/main/resources/application.properties file.
Quarkus style and content guidelines
Guidelines are provided to help you to contribute clear and consistent content that is also sourced in the required diataxis structure and composition of Quarkus documentation.
Reactive Messaging RabbitMQ Connector Reference Documentation
This guide is the companion from the Getting Started with RabbitMQ.
Redis Extension Reference Guide
Redis is an in-memory data store used as a database, cache, streaming engine, and message broker.
Using transactions in Quarkus
The quarkus-narayana-jta extension provides a Transaction Manager that coordinates and expose transactions to your applications as described in the link: Jakarta Transactions specification, formerly known as Java Transaction API (JTA).
Virtual Thread support reference
This guide explains how to benefit from Java 21+ virtual threads in Quarkus application.
General Guides
Other Quarkus Guides
AWS Lambda SnapStart Configuration
This document explains how to optimize your AWS Lambda application for SnapStart
AWS Lambda with RESTEasy Reactive, Undertow, or Reactive Routes
This guide explains how you can deploy Vert.x Web, Servlet, or RESTEasy microservices as an AWS Lambda.
Apache Pulsar Reference Guide
This reference guide provides an in-depth look on Apache Pulsar and Smallrye Reactive Messaging framework.
Automate Quarkus deployment with Ansible
Build and deploy your Quarkus App using Ansible
Azure Functions with RESTEasy Reactive, Undertow, or Reactive Routes
Deploy Vert.x Web, Servlet, or RESTEasy microservices as a Microsoft Azure Function.
Build analytics
This guide presents what build analytics is and how to configure it.
Build, Sign and Encrypt JSON Web Tokens
According to RFC7519, JSON Web Token (JWT) is a compact, URL-safe means of representing claims which are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code(MAC) and/or encrypted.
Building Quarkus apps with Quarkus Command Line Interface (CLI)
使用Quarkus CLI来创建、构建、运行和管理Quarkus项目的扩展。
Centralized log management (Graylog, Logstash, Fluentd)
本指南解释了如何使用Graylog扩展日志格式(GELF)用Logstash或Fluentd集中管理你的日志。
Compressing native executables using UPX
Ultimate Packer for eXecutables (UPX) is a compression tool reducing the size of executables.
Connecting to an Elasticsearch cluster
This guide covers how to interact with an Elasticsearch cluster using the low level REST client or the Elasticsearch Java client.
Container Images
Learn how to build and push container images with Jib, OpenShift or Docker as part of the Quarkus build.
Cross-Site Request Forgery Prevention
Cross-Site Request Forgery (CSRF) is an attack that forces an end user to execute unwanted actions on a web application in which they are currently authenticated.
Deploying your gRPC Service in Kubernetes
This guide explains how to deploy your gRPC services in Quarkus to Kubernetes.
Dev Services for Databases
When testing or running in dev mode Quarkus can provide you with a zero-config database out of the box, a feature we refer to as Dev Services.
Dev Services for Kubernetes
Start a Kubernetes API server automatically in dev and test modes.
Dev Services for Pulsar
With Quarkus Smallrye Reactive Messaging Pulsar extension (quarkus-smallrye-reactive-messaging-pulsar) Dev Services for Pulsar automatically starts a Pulsar broker in dev mode and when running tests.
Dev Services for RabbitMQ
Dev Services for RabbitMQ automatically starts a RabbitMQ broker in dev mode and when running tests.
Extension codestart
Provide users with initial code for extensions when generating Quarkus applications on code.quarkus.io and all the Quarkus tooling.
Extension for Spring Data API
虽然我们鼓励你使用Hibernate ORM与Panache作为你的数据层,但Quarkus以spring-data-jpa扩展的形式为Spring Data JPA提供了一个兼容层。
Funqy HTTP Binding with Azure Functions
Use Funqy HTTP binding with Microsoft Azure Functions to deploy your serverless Quarkus applications.
Funqy HTTP Binding with Google Cloud Functions
本指南解释了Funqy的Google Cloud Platform Functions HTTP绑定。
Generating Jakarta REST resources with Panache
Hibernate ORM REST Data with Panache simplifies the creation of CRUD applications based on Jakarta REST and Hibernate ORM.
Getting Started to SmallRye Reactive Messaging with Apache Pulsar
This guide demonstrates how your Quarkus application can utilize SmallRye Reactive Messaging to interact with Apache Pulsar.
Getting Started to SmallRye Reactive Messaging with RabbitMQ
本指南演示了您的 Quarkus 应用程序如何利用 SmallRye响应式消息传递与RabbitMQ进行交互。
Getting Started with SmallRye Stork
The essence of distributed systems resides in the interaction between services.
Google Cloud Functions (Serverless) with RESTEasy Reactive, Undertow, or Reactive Routes
本指南介绍了如何将Vert.x Web、Servlet或RESTEasy微服务部署为Google Cloud Function。
Hibernate Search guide
Hibernate Search允许你在Elasticsearch集群中索引你的实体,并在你所有基于Hibernate ORM的应用程序中轻松提供全文搜索。
Initialization tasks
This reference guide explains how to configure initialization tasks
Introduction to Contexts and Dependency Injection (CDI)
Quarkus DI solution is based on the Jakarta Contexts and Dependency Injection 4.0 specification.
Migrating to RESTEasy Reactive
Migrating from RESTEasy Classic to RESTEasy Reactive is straightforward in most cases, however there are a few cases that require some attention.
Mutiny - Async for bare mortal
Mutiny is an intuitive, reactive programming library.
Packaging And Releasing With JReleaser
This guide covers packaging and releasing CLI applications using the JReleaser tool.
Quarkus Extension Metadata
Quarkus extensions are distributed as Maven JAR artifacts that application and other libraries may depend on.
Quarkus Extension for Spring Cache API
虽然我们鼓励你使用Cache扩展来进行应用级缓存,但Quarkus以spring-cache扩展的形式为Spring Cache提供了一个兼容层。
Quarkus Extension for Spring DI API
虽然我们鼓励你使用CDI注解进行注入,但Quarkus以spring-di扩展的形式为Spring依赖注入提供了一个兼容层。
Quarkus Extension for Spring Security API
While you are encouraged to use the Quarkus Security layer to secure your applications, Quarkus provides a compatibility layer for Spring Security in the form of the spring-security extension.
Quarkus Extension for Spring Web API
While you are encouraged to use Jakarta REST annotations for defining REST endpoints, Quarkus provides a compatibility layer for Spring Web in the form of the spring-web extension.
Quarkus Maven Plugin
The Quarkus Maven Plugin builds the Quarkus applications, and provides helpers to launch dev mode or build native executables.
Quarkus Virtual Thread support for gRPC services
This guide explains how to benefit from Java virtual threads when implementing a gRPC service.
Quarkus Virtual Thread support with Reactive Messaging
This guide explains how to benefit from Java virtual threads when writing message processing applications in Quarkus.
Quarkus对SpringSpring Scheduling API 的扩展
虽然我们鼓励你使用Scheduler或Quartz扩展来安排任务,但Quarkus以spring-scheduled扩展的形式为Spring Scheduled提供了一个兼容层。
Quarkus运行时基础镜像
To ease the containerization of native executables, Quarkus provides a base image providing the requirements to run these executables.
Using Apache Kafka with Schema Registry and JSON Schema
Use Apache Kafka, Json Schema serialized records, and connect to a schema registry.
Using Hibernate ORM and Jakarta Persistence
Hibernate ORM is the de facto Jakarta Persistence implementation and offers you the full breath of an Object Relational Mapper.
Using Keycloak Admin Client
The Quarkus Keycloak Admin Client and its reactive twin support Keycloak Admin Client which can be used to configure a running Keycloak server.
Using Liquibase MongoDB
Liquibase is an open source tool for database schema change management, it allows managing MongoDB databases via it’s MongoDB Extension.
Using Podman with Quarkus
Podman is a daemonless and rootless container engine for developing, managing, and running OCI Containers on your Linux system or other OS.
Using Stork with Kubernetes
This guide explains how to use Stork with Kubernetes for service discovery and load balancing.
Using the legacy REST Client
This guide explains how to use the RESTEasy Classic REST Client in order to interact with REST APIs (JSON and other) with very little effort.
Using the legacy REST Client with Multipart
This guide explains how to use the RESTEasy Classic REST Client to send multipart REST requests, typically to upload documents.
Using xDS gRPC
This page explains how to enable xDS gRPC usage in your Quarkus application.
Writing REST Services with RESTEasy Reactive
Discover how to develop highly scalable reactive REST services with Jakarta REST and RESTEasy Reactive.
从 Spring Cloud 配置服务器中读取配置属性
Quarkus以spring-cloud-config-client扩展的形式为Spring Cloud Config提供了一个兼容层。
使用 JWT RBAC
This guide explains how your application can utilize SmallRye JWT to provide secured access to the Jakarta REST endpoints.
使用Apache Kafka Streams
本指南展示了你的Quarkus应用如何利用Apache Kafka Streams API来实现基于Apache Kafka的流处理应用。
使用Hibernate响应式
Hibernate Reactive is a reactive API for Hibernate ORM, supporting non-blocking database drivers and a reactive style of interaction with the database.
使用JMS
本指南演示了你的Quarkus应用程序如何使用AMQP 1.0的Apache Qpid JMS,或使用Apache ActiveMQ Artemis JMS进行JMS信息传递。
使用OAuth2 RBAC
This guide explains how your Quarkus application can utilize OAuth2 tokens to provide secured access to the Jakarta REST endpoints.
使用Panache简化Hibernate ORM
Hibernate ORM is the de facto Jakarta Persistence implementation and offers you the full breadth of an Object Relational Mapper.
使用Spring Boot属性API访问应用程序属性
使用Spring Boot的 @ConfigurationProperties
,代替MicroProfile配置注解
使用WebSockets
This guide explains how your Quarkus application can utilize web sockets to create interactive web applications.
在Quarkus应用程序中使用Eclipse Vert.x API
本指南解释了如何在Quarkus中使用Vert.x来构建响应式应用程序。
在原生可执行文件中使用SSL
In this guide, we will discuss how you can get your native images to support SSL, as native images don’t support it out of the box.
应用程序的初始化和终止
You often need to execute custom actions when the application starts and clean up everything when the application stops.
开发用户界面
Learn how to get your extension to contribute features to the Dev UI (v2).
开始使用Apache Kafka的SmallRye响应式消息传递。
本指南演示了您的Quarkus应用程序如何利用SmallRye响应式消息传递与Apache Kafka进行交互。
测试您的应用程序
This guide covers testing in JVM mode, native mode, and injection of resources into tests
用Panache和Kotlin简化Hibernate ORM
This explains the specifics of using Hibernate ORM with Panache in a Kotlin project.
编写您自己的扩展
Quarkus extensions optimize your applications by pushing as much work as possible to the build operation.