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
CompletionStageto 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.