Quarkus
  • Why
    • WHAT IS QUARKUS?
    • DEVELOPER JOY
    • PERFORMANCE
    • KUBERNETES NATIVE
    • STANDARDS
    • VERSATILITY
    • CONTAINER FIRST
    • USING SPRING?
      • SPRING OVERVIEW
      • MIGRATE TO QUARKUS
    • AI
      • AI OVERVIEW
      • JAVA FOR AI
      • WHY QUARKUS FOR AI
      • AI BLUEPRINTS
  • Learn
    • GET STARTED
    • DOCUMENTATION
    • RELEASES
    • USER STORIES
    • "Q" TIP VIDEOS
    • BOOKS
    • WORKSHOPS
  • Extensions
    • BROWSE EXTENSIONS
    • USE EXTENSIONS
    • CREATE EXTENSIONS
    • SHARE EXTENSIONS
  • Community
    • SUPPORT
    • BLOG
    • DISCUSSION
    • WORKING GROUPS
    • PODCAST
    • EVENTS
    • NEWSLETTER
    • ROADMAP
    • BENEFACTORS
  • START CODING
    • OFFICIAL (ENGLISH)
    • PORTUGUÊS (BR)
    • ESPAÑOL
    • 简体中文
    • 日本語
Back to Guides
  • Main
  • Latest
  • 3.40
  • 3.33
  • 3.27
  • 3.20
  • 3.15
  • 3.8
Edit this Page

Guide categories

Getting started
  • Creating your first application
  • Your second Quarkus application
  • Using our tooling
  • Quarkus tools in your favorite IDE
Packaging
JARs
  • Packaging overview
  • Ahead-of-time (AOT) caching
  • Tree-shaking JAR dependencies
  • JLink packaging
  • Re-augment a Quarkus application
Native
  • Building a native executable
  • Native reference guide
  • Tips for writing native applications
  • Using SSL with native executables
  • Compressing native executables using UPX
Containers
  • Container images
  • Quarkus base runtime image
Release and distribution
  • Generating and using CycloneDX SBOMs
  • Packaging and releasing with JReleaser
Core
Contexts and Dependency Injection (CDI)
  • Introduction to Contexts and Dependency Injection (CDI)
  • Contexts and Dependency Injection
  • Application initialization and termination
Dev Services
  • Dev Services overview
  • Compose Dev Services
  • Using Podman with Quarkus
Configuration
  • Configuring your application
  • YAML configuration
  • Mapping configuration to objects
  • Configuration reference guide
  • Extending configuration support
  • All configuration options
Vert.x
  • Using Eclipse Vert.x API from a Quarkus application
  • Vert.x reference guide
Testing
  • Testing your application
  • Continuous testing
  • Testing components
  • Measuring the coverage of your tests
Web
HTTP
  • Quarkus for the Web
  • HTTP reference
  • Using Reactive Routes
REST
  • Writing REST services with Quarkus REST (formerly RESTEasy Reactive)
  • Using the REST Client
  • Writing JSON REST services
  • Using OpenAPI and Swagger UI
  • RESTEasy Classic
  • Using the legacy REST Client
  • Using the legacy REST Client with Multipart
  • Generating Jakarta REST resources with Panache
  • Use virtual threads in REST applications
  • Migrating to Quarkus REST (formerly RESTEasy Reactive)
GraphQL
  • SmallRye GraphQL
  • SmallRye GraphQL Client
WebSockets
  • Getting started with WebSockets Next
  • WebSockets Next reference guide
  • Using WebSockets with Undertow
Frontend
  • Web dependency locator
Data
Datasources
  • Configure data sources in Quarkus
  • Reactive SQL clients
  • Dev Services for databases
ORM and Hibernate
  • Using Hibernate ORM and Jakarta Persistence
  • Simplified Hibernate with Quarkus Data Hibernate
  • Simplified Hibernate ORM with Panache
  • Simplified Hibernate ORM with Panache and Kotlin
  • Using Hibernate Reactive
  • Simplified Hibernate Reactive with Panache
  • Use Hibernate Search with Hibernate ORM and Elasticsearch/OpenSearch
  • Use Hibernate Search in Standalone mode with Elasticsearch/OpenSearch
  • Using Blaze-Persistence
Transactions
  • Using transactions in Quarkus
  • Using Software Transactional Memory in Quarkus
  • Narayana LRA participant support
  • Dev Services for LRA
Validation
  • Validation with Hibernate Validator
NoSQL
  • Using the MongoDB Client
  • Simplified MongoDB with Panache
  • Simplified MongoDB with Panache and Kotlin
  • Dev Services for MongoDB
  • Using the Redis Client
  • Redis extension reference guide
  • Dev Services for Redis
  • Connecting to an Elasticsearch cluster
  • Dev Services for Elasticsearch
  • Using the Cassandra Client
Caching
  • Application data caching
  • Redis Cache
  • Infinispan Cache
  • Using the Infinispan Client
  • Infinispan Client extension reference guide
  • Dev Services for Infinispan
Database migration
  • Using Flyway
  • Using Liquibase
  • Using Liquibase MongoDB
Messaging
Messaging core
  • Quarkus Messaging extensions
  • Quarkus virtual thread support with Reactive Messaging
Events
  • Quarkus Signals
  • Using the event bus
JMS
  • Using JMS
Kafka
  • Getting started with Quarkus Messaging and Apache Kafka
  • Apache Kafka reference guide
  • Dev Services for Kafka
  • Using Apache Kafka Streams
  • Using Apache Kafka with Schema Registry and Avro
  • Using Apache Kafka with Schema Registry and JSON Schema
  • Kafka Dev UI
  • Dev Services for Apicurio Registry
AMQP
  • Getting started with Quarkus Messaging and AMQP 1.0
  • Reactive Messaging AMQP 1.0 Connector reference documentation
  • Dev Services for AMQP
Pulsar
  • Getting started with Quarkus Messaging and Apache Pulsar
  • Apache Pulsar reference guide
  • Dev Services for Pulsar
RabbitMQ
  • Getting started with Quarkus Messaging and RabbitMQ
  • Reactive Messaging RabbitMQ Connector reference documentation
  • Dev Services for RabbitMQ
Security
Security core
  • Quarkus Security overview
  • Quarkus Security architecture
  • Getting started with security by using Basic authentication and Jakarta Persistence
  • Security tips and tricks
  • Authorization of web endpoints
  • Proactive authentication
  • Cross-Origin Resource Sharing (CORS)
  • Cross-Site Request Forgery prevention
  • Using security with .properties file
  • Security testing
  • Secrets in configuration
  • Using a credentials provider
  • Using SSL with native executables
  • Security vulnerability detection and reporting in Quarkus
Authentication
  • Authentication mechanisms in Quarkus
  • Basic authentication
  • Enable Basic authentication
  • Using JWT RBAC
  • Build, sign, and encrypt JSON Web Tokens
  • Using OAuth2 RBAC
  • Using security with WebAuthn
OpenID Connect (OIDC)
  • OpenID Connect authorization code flow mechanism for protecting web applications
  • Protect a web application by using OpenID Connect (OIDC) authorization code flow
  • OpenID Connect (OIDC) Bearer token authentication
  • Protect a service application by using OpenID Connect (OIDC) Bearer token authentication
  • Protect a Quarkus web application by using an Auth0 OpenID Connect provider
  • OpenID Connect (OIDC) configuration properties
  • Quarkus OpenID Connect (OIDC) expanded configuration reference
  • Configuring well-known OpenID Connect providers
  • OpenID Connect client and token propagation quickstart
  • OpenID Connect (OIDC) and OAuth2 client and filters
  • OpenID Connect (OIDC) and OAuth2 dynamic client registration
  • Using OpenID Connect (OIDC) multitenancy
  • Dev Services and Dev UI for OpenID Connect (OIDC)
  • Migrate from Vert.x OIDC to Quarkus OIDC
Identity providers
  • Identity providers
  • Quarkus Security with Jakarta Persistence
  • Using security with JDBC
  • Using security with an LDAP realm
  • Using OpenID Connect (OIDC) and Keycloak to centralize authorization