Awesome Vert.x 

Awesome Vert.x is a list of awesome frameworks, libraries or
other components related to Vert.x.
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.
Contents
Books
Web Frameworks
- 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.
- Irked -
Annotations-based configuration for Vert.x Web, with a controller
framework and expressive APIs for REST.
- 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.
- Serverx - Allows
you to quickly and easily set up a Vert.x-powered server using only
route handler annotations.
- Cloudopt
Next - Cloudopt Next is a very lightweight and modern, JVM-based,
full stack kotlin framework designed for building modular, easily
testable JVM applications with support for Java, Kotlin language,
crafted from the best of breed Java libraries and standards.
- Donkey - Modern
Clojure HTTP server and client built for ease of use and
performance.
- SCX - An open and
easy-to-use web framework, most functions are based on annotations.
- vertx-rest -
Abstraction over resteasy-vertx to simplify writing a Vert.x REST
application based on JAX-RS annotations.
Authentication Authorisation
Database Clients
Clients for connecting to databases
- Relational Databases
- 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.
- DGraph
- An example on how to build a Vert.x gRPC compliant client. Here
targeting dgraph
- RxFirestore -
Non-blocking Firestore SDK written in a reactive way.
- MongoDB
- Pure functional and reactive MongoDB client on top of Vert.x
Effect. Full support for retry, fallback and recovery
operations.
- Aerospike -
Asynchronous and non-blocking API to interact with Aerospike server.
Uses AerospikeClient’s
async commands internally and handles the result on the Vert.x
Context.
- 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.
Integration
- Server-Sent Events
- jEaSSE - Java Easy
SSE. A simple, lightweight implementation of SSE.
- vertx-sse -
Vert.x SSE implementation + event-bus SSE bridge.
- Mail
- REST
- File Server
- 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.
- 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.
- 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.
- The White
Rabbit - An asynchronous RabbitMQ (AMQP) client based on Kotlin
coroutines.
- WAMP
Broker - A WAMP broker you can embed into your Vert.x
application.
- 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
- Netflix - Hystrix
- Dart
- Push Notifications
- Onesignal
- Send push notifications to (mobile/web) apps from your Vert.x
application with OneSignal.
- CNCF CloudEvents
Middleware
- 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.
- API Framework
- Vert.x and Glue based microservice framework removing distinction
between standalone and serveless application. All services can run in
standalone server, but, if required, same codebase can be used to run
any service as serverless application.
Language Support
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.
- EcmaScript -
EcmaScript >=6 (JavaScript) support.
- Php - Php
support.
Language extensions
Reactive
- 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.
- Vert.x
Effect - Pure functional and reactive library based on the IO Monad
to implement any complex flow. Full support for retry, fallback and
recovery operations.
- SmallRye Mutiny -
Intuitive event-driven reactive programming library for Java with bindings for
Vert.x.
Sync Thread Non Block
- Sync -
Synchronous but non-OS-thread-blocking verticles.
Vert.x Event Bus Clients
Clients to connect applications to the Vert.x event bus
Vert.x Event Bus Extensions
- Eventbus
Service - Code generator for type-safe event bus communication via
simple Kotlin interfaces.
Cluster Managers
Implementations of the Vert.x cluster manager SPI
Cloud Support
Microservices
- 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.
- 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.
- Failsafe - Failsafe is a
lightweight, zero-dependency library for handling failures in
Java 8+. Concise API. Integration with libraries that use their own
schedulers for async executions, such as Akka or Vert.x. Vert.x
example
- Autonomous
Services - A toolkit for creating autonomous services. An
architecture that leverages vert.x and nannoq-tools to provide an
event-based reactive architecure without centralized components, neither
for communication or data, providing a theoretically linear scalability
across the architecture.
- Apache
ServiceComb Java Chassis - ServiceComb Java Chassis is a Software
Development Kit (SDK) for rapid development of microservices in Java,
providing service registration, service discovery, dynamic routing, and
service management features.
- SmallRye
Fault Tolerance - SmallRye Fault Tolerance is an implementation of
Eclipse MicroProfile Fault Tolerance with additional features not
defined by the specification. Native support of Vert.x
and Mutiny.
Search Engines
Service Factory
Config
Dependency Injection
- 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.
- Glue - Proven and
opinionated programming, and configuration model for Java and Vert.x
based applications. Inspired from ATG Nucleus, provides powerful layer
base configuration management using simple properties file.
Testing
- 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.
- openapi-generator
- OpenAPI Generator allows generation of API client libraries (SDK
generation), server stubs, documentation and configuration automatically
given an OpenAPI Spec (v2, v3).
Miscellaneous
- 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.
- vertx-values -
Send immutable and persistent JSON from json-values
across the event bus.
Distribution
Examples
- 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.
- Starter Single
Verticle API - REST API Starter and Project Template ready to deploy
with lots of plumbing code, examples, and documentation to quickly
develope an API with almost no knowledge of vert.x and without any waste
of time.
- AI model output API
based on PMML with Vert.x - High performance PMML evaluator API
based on Vert.x. Supports dynamic routing configuration for multiple
PMML models via JSON.
Deployment
Utilities
- 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
CronUtils - An abstraction of cron-utils for the vertx scheduler.
Unix, Cron4j and Quartz style expressions are supported.
- Vert.x
Scheduler - A lightweight plugable scheduler based on plain Vert.x
core without any external libs for scheduling with cron-style
and interval timers with a detail monitor on both sync
and async task.
- 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.
- Contextual
logging - Mapped Diagnostic Context (MDC) that works with the Vert.x
event-loop model.
- Vert.x
JsonPath - A very basic implementation of JsonPath using Vert.x’s
JsonObject and JsonArray, mimicking their getX, containsKey, put and
remove methods.
Presentations
- User
Group - Discuss all user issues related to using
Vert.x.
- Developer
Group - A group for Vert.x core developers and
contributors.
- Discord Server - Chat about
any Vert.x-related topic.
- Issues -
Vert.x core issue tracker.
- Wiki - Contains
useful information about Vert.x.
- Blog - The official Vert.x blog
containing many tutorials and other information.
Articles
Tutorials
Front-End
- 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.
Contribute
Contributions welcome! Read the contribution guidelines first.
vertx.md
Github