Awesome Vert.x is a list of awesome frameworks, libraries or other components for use with or that use Vert.x version 3.
If you want your component to appear here send a pull request to this repository to add it.
Please note that we can't vouch for the stability or production-worthiness of everything on this list unless it has the icon next to it. This icon means the component is part of the official Vert.x stack.
For Vert.x version 2 check this page.
- Books
- Build tools
- Web Frameworks
- Authentication Authorisation
- Database Clients
- Integration
- Middleware
- Language Support
- Reactive
- Sync Thread Non Block
- Vert.x Event Bus Clients
- Cluster Managers
- Cloud Support
- Docker
- Microservices
- Search Engines
- Service Factory
- Config
- Dependency Injection
- Testing
- Development Tools
- Miscellaneous
- Distribution
- Examples
- Deployment
- Utilities
- Front-End
- A gentle guide to asynchronous programming with Eclipse Vert.x for Java developers by Julien Ponge, Thomas Segismont and Julien Viet
- Building Reactive Microservices in Java by Clément Escoffier
- Vert.x in Action by Julien Ponge
- Vert.x Web - Full featured web toolkit for Vert.x.
- Vert.x Jersey - Create JAX-RS Jersey resources in Vert.x.
- Kovert - Invisible REST framework for Kotlin + Vert.x Web.
- Handlers - Open web framework for Vert.x.
- QBit - REST and WebSocket method call marshaling and reactive library.
- vertx-rest-storage - Persistence for REST resources in the filesystem or a redis database.
- Jubilee - A rack compatible Ruby HTTP server built on Vert.x 3.
- Knot.x - Efficient & high-performance integration platform for modern websites built on Vert.x 3.
- Vert.x Jspare - Improving your Vert.x 3 experience with Jspare Framework.
- Irked - Annotations-based configuration for Vert.x 3 Web and controller framework.
- REST.VertX - Lightweight JAX-RS (RestEasy) like annotation processor for Vert.x verticals.
- Atmosphere Vert.x - Realtime Client Server Framework for the JVM, supporting WebSockets and Server Sent Events with Cross-Browser Fallbacks.
- Vert.x Vaadin - Run Vaadin applications on Vert.x.
-
Vert.x Auth JDBC - Vert.x authentication/authorisation JDBC based.
-
Vert.x Auth JWT - Vert.x Authorisation based on JSON Web Tokens.
-
Vert.x Auth Shiro - Vert.x AuthN/AuthZ based on Apache Shiro.
-
Vert.x Auth htdigest - Vert.x Authorisation/Authentication based on Apache htdigest.
-
Vert.x Auth Mongo - Vert.x Authorisation/Authentication based on MongoDB.
-
Vert.x Auth OAuth2 - Vert.x Authorisation/Authentication based on OAuth 2.
-
Vert.x Auth htpasswd - Vert.x Authorisation/Authentication based on htpasswd.
-
Vert.x-Pac4j - Vert.x authentication/authorisation implemented using pac4j.
Clients for connecting to databases
-
Relational Databases
- JDBC - Asynchronous interface around a JDBC datasource.
- MySQL / PostgreSQL - Asynchronous Client for MySQL/PostgreSQL.
- PostgreSQL - Reactive PostgreSQL Client.
- database - Client for Oracle, PostgreSQL, SQL Server, HyperSQL, etc. designed for security, correctness, and ease of use.
- jOOQ - Doing typesafe, asynchronous SQL and generate code using jOOQ.
-
NoSQL Databases
- MongoDB - An asynchronous client for interacting with a MongoDB database.
- Redis - Asynchronous API to interact with Redis.
- Cassandra - A Vert.x client allowing applications to interact with a Cassandra service.
- Cassandra - Asynchronous API to interact with Cassandra and Cassandra Mapping.
- OrientDB - Non-blocking OrientDB server integration.
- Bitsy - Non-blocking Bitsy Graph server integration.
- MarkLogic - Asynchronous client for Marklogic Database Server.
- SirixDB - Non-blocking SirixDB HTTP-server.
-
vertx-pojo-mapper - Non-blocking POJO mapping for MySQL and MongoDB.
-
vertx-mysql-binlog-client - A Vert.x client for tapping into MySQL replication stream.
-
vertx-mongo-streams - Helpers to pump Vert.x streams to/from MongoDB GridFS using the MongoDB async driver.
-
Server-Sent Events
-
Mail
- SMTP - Async SMTP client.
- vertx-smtp-server - SMTP server bridging to EventBus.
-
REST
- Vert.x REST Client - A REST client for Vert.x with support for RxJava and request caching.
- Retrofit adapter for Vert.x - A highly scalable adapter for Retrofit with Vert.x.
-
Messaging
- AMQP 1.0 - Interact with AMQP 1.0 servers using the Vert.x Producer and Consumer APIs.
- MQTT - Provides two different components : an MQTT server for handling all the MQTT communication and messages exchanges with clients and an MQTT client for sending and receiving messages against an MQTT broker.
- RabbitMQ - A RabbitMQ client (AMQP 0.9.1).
- Kafka Client - A Kafka client.
- kafka - Kafka client for consuming and producing messages.
- Kafka Service - Kafka producer and consumer with retry logic.
- SaltStack - A bi-directional bridge between the SaltStack event system and the Vert.x event bus.
- STOMP - A Kafka client and server.
- ZeroMQ - ZeroMQ Event Bus bridge.
- MQTT Broker - MQTT Broker (MQTT ver. 3.1.1 and 3.1 compliant).
- Azure ServiceBus - Azure ServiceBus producer and consumer (fully async, doesn't use Microsoft Azure SDK).
- AMQP 1.0 - Kafka bridge - Bridge for sending/receiving messages to/from Apache Kafka using the AMQP 1.0 protocol.
- Vert.x Kafka Client - Apache Kafka client for reading and sending messages from/to an Apache Kafka cluster.
-
JavaEE
- JCA adaptor - Java Connector Architecture Adaptor for the Vert.x event bus.
- Weld - Brings the CDI programming model into the Vert.x ecosystem (register CDI observer methods as Vert.x message consumers, CDI-powered Verticles, define routes in a declarative way, etc.).
-
Meteor
- Meteor - Meteor integration support through Vert.x event bus.
-
Metrics
- Hawkular metrics - Hawkular implementation of the Vert.x Metrics SPI.
- DropWizard metrics - Metrics implementation using DropWizard metrics.
- Micrometer metrics - Metrics implementation using Micrometer metrics.
- OpenTsDb Metrics - OpenTsDb metrics client for Vert.x.
- Bosun Monitoring - Bosun client library for Vert.x.
-
Netflix - Hystrix
- Hystrix Metrics Stream - Emits metrics for Hystrix Dashboard from a Vert.x application with Hystrix.
-
Dart
- Vert.x Dart SockJS - Dart integration for Vert.x SockJS bridge and plain SockJS with use of dart:js.
-
Push Notifications
-
CNCF CloudEvents
- CloudEvents.io Java SDK - Send and receive CloudEvents using the Vert.x HTTP Transport for CloudEvents.
- Apache Camel - Apache Camel component for bridging Camel with the Vert.x event bus.
- Gateleen - Middleware library based on Vert.x to build advanced JSON/REST communication servers.
- Gravitee.io - An OSS API Platform including an API Gateway and an OAuth2 / OIDC authorization server based on Vert.x Core / Vert.x Web and other modules.
Programming language support for Vert.x
- Ceylon - Ceylon support.
- Groovy - Groovy support.
- Java - Vert.x main repository (including the Java API).
- JavaScript - JavaScript support.
- Python - Python support.
- Ruby - Ruby support.
- Scala - - Scala support.
- Kotlin - - Kotlin support.
- TypeScript - TypeScript support.
- EcmaScript - EcmaScript >=6 (JavaScript) support.
Language extensions
- Grooveex - Syntactic sugar + utilities (DSL builders, etc.) on top of vertx-lang-groovy.
- Reactive Streams - Vert.x Reactive Streams.
- Vert.x Rx - Vert.x Reactive Extensions.
- Vert.x Sync - Vert.x fiber support.
- Kotlin coroutines - Vert.x support for kotlin coroutines.
- vertx-util - Light weight promises & latches for Vert.x.
- QBit - Async typed actor-like lib that runs easily in Vert.x Async Callbacks. Callback management.
- VxRifa - Utility library for Vert.X that allows using strong-typed interfaces in communication through EventBus.
- Sync - Synchronous but non-OS-thread-blocking verticles.
Clients to connect applications to the Vert.x event bus
- JavaScript - JavaScript event bus client.
- C++11 - C++11 event bus client.
- Java - Java implementation of vertxbus.js.
- Java - Java and Android Event Bus Client.
- Java - Simple Java Event Bus Client using plain TCP socket I/O.
- CLI - Command-line binary client for Vert.x event bus - pipe in JSON, emit JSON.
- Swift - Event bus client for Apple's Swift using the TCP-based protocol.
- Python - Event bus client for Python using the TCP-based protocol.
- C# - Event bus client for C# using the TCP-based protocol.
- C - Event bus client for C99 using the TCP-based protocol.
- Go- Event bus client for Go-lang using the TCP-based protocol.
- Smalltalk- Event bus client for Pharo Smalltalk using the TCP-based protocol.
- Java - Event bus support in JavaScript through Java code.
Implementations of the Vert.x cluster manager SPI
- Hazelcast Cluster Manager - Hazelcast cluster manager.
- Ignite Cluster Manager - Ignite cluster manager.
- JGroups Cluster Manager - JGroups cluster manager.
- Zookeeper Cluster Manager - Zookeeper cluster manager.
- Atomix Cluster Manager - An Atomix based cluster manager implementation for Vert.x 3.
- Infinispan Cluster Manager - Infinispan cluster manager.
- Consul Cluster Manager - Consul cluster manager.
- OpenShift DIY cartridge - OpenShift DIY Cartridge using Vert.x.
- OpenShift Vert.x cartridge - OpenShift Vert.x Cartridge using Vert.x.
- S3 - A fully functional Vert.x client for S3.
- Docker images - Docker images for Vert.x.
- Service Discovery - Vert.x Service Discovery.
- Circuit Breaker - Vert.x Circuit Breaker.
- Service Discovery - Consul - Consul extension to Vert.x Service Discovery.
- Service Discovery - Docker links - Docker extension to Vert.x Service Discovery.
- Service Discovery - Kubernetes - Kubernetes extension to Vert.x Service Discovery.
- Service Discovery - Redis backend - Redis storage backend for Vert.x Service Discovery.
- Vert.x GraphQL Service Discovery - GraphQL service discovery and querying for your Vert.x microservices.
- HTTP Request Multiplexer - Kalfor - Combine multiple HTTP GET requests into a single POST. A dead simple alternative to Facebook's GraphQL and Netflix's Falcor.
- Resilience4j - Resilience4j is a fault tolerance library designed for Java8 and functional programming. Resilience4j provides modules for Circuit Breaking, Rate Limiting, Bulkheading, Automatic retrying, Response caching and Metric measuring.
- Vert.x Elasticsearch Service - Vert.x 3 Elasticsearch service with event bus proxying.
- Vert.x Elasticsearch Service (redesign) - Vert.x 3 Elasticsearch service with event bus proxying. Redesign of the Vert.x Elasticsearch Service. Heavy usage of DTOs over eventbus and no more JsonObjects. Added support for ES plugins.
- Vert.x Solr Service - Vert.x 3 Solr service with event bus proxying.
- Service Factory - Vert.x Service Factory.
- Maven Service Factory - Maven Vert.x Service Factory.
- HTTP Service Factory - Vert.x HTTP Service Factory.
- Node.js Service Factory - Vert.x Node.js Service Factory.
- Eclipse SISU Service Factories - Vert.x integration with Eclipse SISU DI container offering alternatives for
vertx-service-factory
andvertx-maven-service-factory
.
- Vert.x Config AWS SSM Store - A config store implementation for retrieving configuration values from the AWS EC2 SSM Parameter Store.
- Vert.x Boot - Deploying verticles from a HOCON configuration.
- Vert.x Guice - Vert.x verticle factory for Guice dependency injection.
- Vert.x HK2 - Vert.x verticle factory for HK2 dependency injection.
- Spring Vert.x Extension - Vert.x verticle factory for Spring DI injection.
- Vert.x Beans - Inject Vert.x objects as beans into your Spring application.
- QBit - QBit works with Spring DI and Spring Boot (and of course Vert.x). Allows you to use QBit, Vert.x, Spring DI and Spring Boot in the same application.
- Vert.x Eclipse SISU - Vert.x integration with Eclipse SISU DI container.
- Vert.x Spring Verticle Factory - A Vert.x Verticle Factory that makes use of Spring to obtain and configure Verticles.
- Vert.x Unit - Async polyglot unit testing for Vert.x.
- Vert.x shell - Allows for interaction with Vert.x from the command line.
- Vert.x health check - Allows for remote health checking in Vert.x projects.
- Vert.x Hot - A Maven plugin for the hot-deploy of Maven Vert.x projects.
- slush-vertx - A template driven Vert.x project generator for different languages and build tools.
- Vert.x for Visual Studio Code - A Visual Studio Code (polyglot) plugin for Vert.x. Also available from the Marketplace.
- Vert.x Starter - A browser-based project starter and project templates for Vert.x applications.
- Vert.x LiveReload - A simple livereload server for Vert.x applications.
- Vert.x Child Process - Spawn child process from Vert.x.
- vertx-redisques - A highly scalable redis-persistent queuing system for Vert.x.
- Simple File Server - An OpenStack Swift compatible distributed object storage server that can serve and securely store billions of large and small files using minimal resources implemented using Vert.x.
- Vert.x Boot - Deploying verticles from a HOCON configuration.
- GDH - Generalized Diffie-Hellman key exchange Java library built on top of Vert.x.
- Vert.x Stack - Vert.x + the endorsed modules.
- Vert.x blueprint - Microservice application - The official Vert.x blueprint showing how to build a complex microservice application.
- Vert.x blueprint - Job Queue - The official Vert.x blueprint showing how to build a distributed job processing application.
- Vert.x blueprint - TODO backend - The official Vert.x blueprint showing how to build a backend for a TODO application.
- Vert.x examples - The official Vert.x examples including web examples, how to use the official database clients, etc.
- Vert.x feeds - Example of an RSS aggregator built using Vert.x, Gradle, MongoDB, Redis, Handlebars templates, AngularJS, the event bus and SockJS.
- Vert.x Markdown service - Example on how to use service-proxy with Gradle.
- Example using event bus and service proxies to connect vertx and node - Step by step example with wiki description showing how to connect Vert.x and Node using event bus and service proxies.
- Vert.x Todo-Backend implementation - Pure Java 8 implementation of the Todo MVC backend. Uses a Vert.x LocalMap for storage.
- Kotlin Todo-Backend implementation - Kotlin implementation of the Todo MVC backend.
- Scala Todo-Backend implementation - Scala implementation of the Todo MVC backend.
- Grooveex Todo-Backend implementation - Todo MVC backend implementation with Vert.x + Groovy + some syntactic sugar + DSL routing facilities.
- Vert.x Gradle Starter - Java 8 starter application with example of using Vert.x with Gradle build system, profiles configuration and SLF4J.
- Vert.x Gentics Mesh Example - Example on how to build a template-based web server with Gentics Mesh and handlebars.
- HTTP/2 showcase - A simple demo, showing how HTTP/2 can drastically improve user experience when a huge latency is involved.
- Vert.x Music Store - An example application on how to build Vert.x applications with RxJava.
- Crabzilla - Yet another Event Sourcing experiment. A project exploring Vert.x to develop Event Sourcing / CQRS applications.
- Vert.x PostgreSQL Starter - A starter to build a monolithic CRUD RESTful Web Service with Vert.x stack and PostgreSQL.
- Cloud Foundry - An example Vert.x for deploying to a Cloud Foundry service provider.
- Knative - An example application on how to use Reactive Extensions Vert.x with Knative.
- Vert.x Deploy Application - (Seamless) deploy to AWS based Vert.x application clusters.
- Chime - Time scheduler working on Vert.x event bus allowing for scheduling with cron-style and interval timers.
- Vert.x Cron - Schedule events with cron specifications. Has event bus and Observable versions.
- Vert.x POJO config - Allows for mapping between standard JSON configuration and a (type-safe) configuration Java bean. Also allows the configuration bean to be validated through JSR 303.
- Vert.x Async - Portage of caolan/async nodejs module to Vert.x framework that provides helpers methods for common async patterns.
- Vert.x JOLT - JSON to JSON transformation tool based on the original bazaarvoice JOLT project. Helpful to transform different json structure into an expected json format.
- Vert.x Dependent Verticle Deployer - A Vert.x Verticle intended to deploy verticles and their dependent verticles.
- Vert.x Dataloader - Java port of Facebook Dataloader for Vert.x. Efficient batching and caching for your data layer.
- Vert.x Util - A collection of Vert.x utility methods.
- Vert.x Web Accesslog - Just a simple handler to be used in Vert.x Web to generate access logs.
- Vert.x GraphQL Utils - A route handler and Vert.x compatible interfaces to handle GraphQL queries in Vert.x and Vert.x Web.
- Nannoq-Tools - Nannoq-Tools is a toolkit for constructing robust, scalable and distributed applications leveraging Vert.x including modules for authentication, cluster management, Firebase Cloud Messaging, DynamoDB, fully generic queries, REST, and more.
- User Group - Discuss all user issues related to using Vert.x.
- Developer Group - A group for Vert.x core developers and contributors.
- Gitter chat general chat for Vert.x releated chat.
- Issues - Vert.x core issue tracker.
- Wiki - Contains useful information about Vert.x.
- Learning Materials - A list of articles and presentations on Vert.x.
- Blog - The official Vert.x blog containing many tutorials and other information.
- 2017 Events - A list of 2017 Vert.x talks and presentations.
- VertxUI - A pure Java front-end toolkit with descriptive fluent views-on-models, POJO traffic, JUnit testing on the virtual DOM or mixed-language on a real DOM, and more.
Contributions welcome! Read the contribution guidelines first.