This repository contains a set of examples about the Quarkus framework.
See CONTRIBUTING for how to build these examples:
-
Getting Started: Application creation, Rest endpoint, Dependency Injection, Test, Packaging
-
Getting Started - Async: Illustrate how to use
CompletionStage
to handle asynchronous actions -
Getting Started - Knative: Deployment of the Knative service to Kubernetes and/or OpenShift
-
Getting Started - Testing: How to test your application
-
Application Configuration: How to configure your application
-
Startup and Shutdown actions: Explains how to execute code when the application starts and stops
-
AMQP: How to interact with AMQP using MicroProfile reactive messaging
-
Amazon DynamoDB: How to connect to an Amazon DynamoDB datastore
-
Hibernate ORM and RESTEasy: Exposing a CRUD service over REST using Hibernate ORM to connect to a PostgreSQL database
-
Hibernate ORM with Panache and RESTEasy: Exposing a CRUD service over REST using Panache to connect to a PostgreSQL database
-
Hibernate Search + Elasticsearch: Index your Hibernate entities in Elasticsearch to get full text search
-
Infinispan Client: How to use Infinispan Client. Covers creating caches and simple get/put
-
Artemis JMS: How to use the Artemis JMS extension
-
Kafka: Use MicroProfile Reactive Messaging to interact with Apache Kafka
-
Kafka Streams: Use the Apache Kafka Streams API to implement stream processing applications based on Apache Kafka
-
Kogito: How to use Kogito for business process automation with Drools and jBPM
-
MicroProfile Fault Tolerance: How to use MicroProfile Fault Tolerance
-
MicroProfile Health: How to use MicroProfile Health
-
MicroProfile Metrics: How to use MicroProfile Metrics
-
MongoDB: How to connect to a MongoDB datastore
-
MongoDB with Panache: Simplify your MongoDB applications with Panache
-
MicroPofile Messaging MQTT: How to interact with MQTT using MicroProfile reactive messaging
-
Neo4j: How to connect to a Neo4j graph datastore
-
OpenAPI and Swagger UI: Use OpenAPI and Swagger UI to expose your REST API and test your REST services
-
OpenTracing and Jaeger: How to use MicroProfile OpenTracing and Jaeger to monitor application performances
-
Quartz: How to schedule periodic clustered jobs
-
Qute: How to use the Qute templating engine in Quarkus
-
Reactive Routes: How to use Reactive Routes in Quarkus
-
REST Client: How to use MicroProfile's REST Client
-
REST Client Multipart: Handle multipart with MicroProfile's REST Client
-
JSON REST services: How to write JSON REST services
-
Scheduling periodic tasks: How to schedule periodic jobs
-
Security with Users stored in a Database: Store your users in a database and secure your application
-
Security with MicroProfile JWT: How to use MicroProfile JWT RBAC
-
Security with OAuth2 opaque tokens: How to use our security layer with OAuth2 opaque tokens
-
Security with OpenId Connect: How to use OpenId Connect and Keycloak
-
Spring DI compatibility layer: How to use our Spring Dependency Injection compatibility layer
-
Spring Data extension: How to use the Quarkus extension for the Spring Data API
-
Spring Web extension: How to use the Quarkus extension for the Spring Web API
-
Spring Security extension: How to use the Quarkus extension for the Spring Security API
-
Using STM: How to use the Narayana Software Transactional Memory extension
-
Apache Tika: Extract metadata and content from your documents
-
Validation with Hibernate Validator: How to use Hibernate Validator/Bean Validation in your REST services
-
Using Vert.x: How to use the Vert.x extension
-
Using Web Sockets: Demonstrate how to use web sockets and serve static assets
There is documentation published at https://quarkus.io (docs' sources are here).
To compile and run these demos you will need:
- JDK 8 or 11+
- GraalVM
See the Building a Native Executable guide for help setting up your environment.