Quarkus - Extensions
Categories
Think of Quarkus extensions as your project dependencies. Extensions configure, boot and integrate a framework or technology into your Quarkus application. They also do all of the heavy lifting of providing the right information to GraalVM for your application to compile natively.
Adding an extension is as easy as adding a dependency or use Quarkus tooling.
$ mvn quarkus:list-extensions
$ mvn quarkus:add-extension -Dextensions="groupId:artifactId"
# Or
$ gradle list-extensions
# and add the dependency in your dependencies section
Explore the wide breadth of technologies Quarkus applications can be made with.
Core
-
Configuration
Included: MicroProfile Configuration via SmallRye
-
Logging
Included: centralized log management for Quarkus
-
ArC
Build time CDI dependency injection
io.quarkus:quarkus-arc
Web
-
Netty
Netty is a non-blocking I/O client-server framework. Used by Quarkus as foundation layer.
io.quarkus:quarkus-netty
-
RESTEasy JAX-RS
REST framework implementing JAX-RS and more
io.quarkus:quarkus-resteasy
-
RESTEasy JSON-B
JSON-B serialization support for RESTEasy
io.quarkus:quarkus-resteasy-jsonb
-
RESTEasy Jackson
Jackson serialization support for RESTEasy
io.quarkus:quarkus-resteasy-jackson
-
SmallRye JWT
Secure your applications with JSON Web Token
io.quarkus:quarkus-smallrye-jwt
-
SmallRye OpenAPI
Document your REST APIs with OpenAPI - comes with Swagger UI
io.quarkus:quarkus-smallrye-openapi
-
REST Client
Call REST services
io.quarkus:quarkus-rest-client
-
Undertow Servlet
Support for servlets
io.quarkus:quarkus-undertow
-
Undertow WebSockets
WebSocket support
io.quarkus:quarkus-undertow-websockets
-
Hibernate Validator
Validate data coming to your REST endpoints
io.quarkus:quarkus-hibernate-validator
Data
-
Hibernate ORM
Define your persistent model with Hibernate ORM and JPA
io.quarkus:quarkus-hibernate-orm
-
Hibernate ORM with Panache
Define your persistent model in Hibernate ORM with Panache
io.quarkus:quarkus-hibernate-orm-panache
-
Hibernate Validator
Validate your persistent model
io.quarkus:quarkus-hibernate-validator
-
Hibernate Search + Elasticsearch
Automatically index your Hibernate entities in Elasticsearch
io.quarkus:quarkus-hibernate-search-elasticsearch
-
Flyway
Handle your database schema migrations
io.quarkus:quarkus-flyway
-
MongoDB with Panache
Use an active record or repository pattern with MongoDB
io.quarkus:quarkus-mongodb-panache
-
JDBC Driver - H2
H2 database connector
io.quarkus:quarkus-jdbc-h2
-
JDBC Driver - MariaDB
MariaDB database connector
io.quarkus:quarkus-jdbc-mariadb
-
JDBC Driver - MySQL
MySQL database connector
io.quarkus:quarkus-jdbc-mysql
-
JDBC Driver - PostgreSQL
PostgreSQL database connector
io.quarkus:quarkus-jdbc-postgresql
-
JDBC Driver - Microsoft SQL Server
Microsoft SQL Server database connector
io.quarkus:quarkus-jdbc-mssql
-
JDBC Driver - Derby
Derby database connector
io.quarkus:quarkus-jdbc-derby
-
Infinispan Client
Connect to the Infinispan data grid for distributed caching
io.quarkus:quarkus-infinispan-client
-
Infinispan Embedded
Run an embedded Infinispan data grid server for distributed caching
io.quarkus:quarkus-infinispan-embedded
-
Agroal - Database connection pool
Pool your database connections (included in Hibernate ORM)
io.quarkus:quarkus-agroal
-
Reactive MySQL client
A reactive client for the MySQL database
io.quarkus:quarkus-reactive-mysql-client
-
Reactive PostgreSQL client
A reactive client for the PostgreSQL database
io.quarkus:quarkus-reactive-pg-client
-
MongoDB client
An imperative and reactive client for MongoDB
io.quarkus:quarkus-mongodb-client
-
Neo4j client
A client for the Neo4j graph datastore
io.quarkus:quarkus-neo4j
-
Amazon DynamoDB client
A client for the Amazon DynamoDB datastore
io.quarkus:quarkus-amazon-dynamodb
-
Narayana JTA - Transaction manager
JTA transaction support (included in Hibernate ORM)
io.quarkus:quarkus-narayana-jta
-
Narayana STM - Software Transactional Memory
Software Transactional Memory (stm) support
io.quarkus:quarkus-narayana-stm
Messaging
-
SmallRye Reactive Messaging
Asynchronous messaging for Reactive Streams
io.quarkus:quarkus-smallrye-reactive-messaging
-
SmallRye Reactive Messaging - Kafka Connector
Kafka reactive messaging connector
io.quarkus:quarkus-smallrye-reactive-messaging-kafka
-
SmallRye Reactive Messaging - AMQP Connector
AMQP reactive messaging connector
io.quarkus:quarkus-smallrye-reactive-messaging-amqp
-
SmallRye Reactive Messaging - MQTT Connector
MQTT reactive messaging connector
io.quarkus:quarkus-smallrye-reactive-messaging-mqtt
-
Apache Kafka Client
A client for Apache Kafka
io.quarkus:quarkus-kafka-client
-
Apache Kafka Streams
Implement stream processing applications based on Apache Kafka
io.quarkus:quarkus-kafka-streams
-
Artemis Core
Use ActiveMQ Artemis as message broker
io.quarkus:quarkus-artemis-core
-
Artemis JMS
Use ActiveMQ Artemis as a JMS implementation
io.quarkus:quarkus-artemis-jms
Reactive
-
Eclipse Vert.x
Reactive application toolkit
io.quarkus:quarkus-vertx
-
SmallRye Reactive Streams Operators
Operators for Reactive Streams programming
io.quarkus:quarkus-smallrye-reactive-streams-operators
-
SmallRye Reactive Type Converters
Converters for reactive types from various reactive programming libraries
io.quarkus:quarkus-smallrye-reactive-type-converters
-
SmallRye Context Propagation
SmallRye Context Propagation
io.quarkus:quarkus-smallrye-context-propagation
-
Reactive PostgreSQL client
A reactive client for the PostgreSQL database
io.quarkus:quarkus-reactive-pg-client
Business Automation
-
Kogito
Add business automation capabilities with Kogito
io.quarkus:quarkus-kogito
Cloud
-
Kubernetes
Generate Kubernetes resources from annotations
io.quarkus:quarkus-kubernetes
-
Kubernetes Client
Interact with Kubernetes and develop Kubernetes Operators
io.quarkus:quarkus-kubernetes-client
-
AWS Lambda
AWS Lambda support
io.quarkus:quarkus-amazon-lambda
-
SmallRye Fault Tolerance
Define fault-tolerant services
io.quarkus:quarkus-smallrye-fault-tolerance
-
SmallRye Health
Monitor service health
io.quarkus:quarkus-smallrye-health
Observability
-
SmallRye Metrics
Extract metrics out of your services
io.quarkus:quarkus-smallrye-metrics
-
SmallRye OpenTracing
Trace your services with Jaeger
io.quarkus:quarkus-smallrye-opentracing
Security
-
OpenID Connect
Secure your applications with OpenID Connect and Keycloak
io.quarkus:quarkus-oidc
-
Vault
Store your credentials securely in HashiCorp Vault
io.quarkus:quarkus-vault
-
Elytron Security
Secure your services
io.quarkus:quarkus-elytron-security
-
SmallRye JWT
Secure your applications with JSON Web Token
io.quarkus:quarkus-smallrye-jwt
-
Elytron Security OAuth 2.0
Secure your applications with OAuth2 opaque tokens
io.quarkus:quarkus-elytron-security-oauth2
-
Elytron Security JDBC Realm
Secure your applications with username/password stored in a database
io.quarkus:quarkus-elytron-security-jdbc
Serialization
-
JSON-B
JSON Binding support
io.quarkus:quarkus-jsonb
-
Jackson
Jackson Databind support
io.quarkus:quarkus-jackson
-
JSON-P
JSON Processing support
io.quarkus:quarkus-jsonp
-
RESTEasy JSON-B
JSON-B serialization support for RESTEasy
io.quarkus:quarkus-resteasy-jsonb
-
RESTEasy Jackson
Jackson serialization support for RESTEasy
io.quarkus:quarkus-resteasy-jackson
-
JAXB
XML serialization support
io.quarkus:quarkus-jaxb
Miscellaneous
-
Mailer
Send emails
io.quarkus:quarkus-mailer
-
Scheduler - tasks
Schedule jobs and tasks
io.quarkus:quarkus-scheduler
-
Apache Tika
Extract data from your documents with Apache Tika
io.quarkus:quarkus-tika
-
JGit
Access your Git repositories
io.quarkus:quarkus-jgit
Compatibility
-
Quarkus Extension for Spring DI API
Define your dependency injection with Spring DI
io.quarkus:quarkus-spring-di
-
Quarkus Extension for Spring Web API
Use Spring Web annotations to create your REST services
io.quarkus:quarkus-spring-web
-
Quarkus Extension for Spring Data JPA API
Use Spring Data JPA annotations to create your data access layer
io.quarkus:quarkus-spring-data-jpa
Alternative languages
-
Kotlin
Write your services in Kotlin
io.quarkus:quarkus-kotlin
-
Scala
Write your services in Scala
io.quarkus:quarkus-scala