Vert.x
Contents_Index
- BOOKS2
- BUILD TOOLS3
- WEB FRAMEWORKS17
- AUTHENTICATION AUTHORISATION7
- DATABASE CLIENTS2
- INTEGRATION2
- MIDDLEWARE4
- LANGUAGE SUPPORT11
- REACTIVE9
- SYNC THREAD NON BLOCK1
- VERT.X EVENT BUS CLIENTS14
- VERT.X EVENT BUS EXTENSIONS1
- CLUSTER MANAGERS6
- CLOUD SUPPORT3
- MICROSERVICES8
- GAME DEVELOPMENT1
- SEARCH ENGINES2
- SERVICE FACTORY5
- CONFIG2
- DEPENDENCY INJECTION8
- TESTING3
- DEVELOPMENT TOOLS7
- MISCELLANEOUS6
- DISTRIBUTION1
- EXAMPLES21
- DEPLOYMENT1
- UTILITIES15
- PRESENTATIONS1
- COMMUNITY6
- ARTICLES4
- TUTORIALS1
- FRONT-END1
Books
2_ENTRIES- Building Reactive Microservices in Java
by ClΓ©ment Escoffier
- Vert.x in Action
by Julien Ponge
Build tools
3_ENTRIES- Vert.x Codegen Gradle plugin
A Gradle plugin to facilitate the codegen usage for Vert.x Java projects.
Web Frameworks
17_ENTRIES- 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
7_ENTRIES- Vert.x Auth SQL
Vert.x authentication/authorisation based on the Vert.x SQL client and a relational database.
- Vert.x Auth JWT
Vert.x Authorisation based on JSON Web Tokens.
- 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.
Database Clients
2_ENTRIESClients for connecting to databases
- Relational DatabasesReactive SQL Client - High performance reactive SQL client.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.jOOQx - Leverages the power of typesafe SQL from
jOOQ DSLand uses the reactive and non-blocking SQL driver from Vert.x.[Exposed Vert.x SQL Client](https://github.com/huanshankeji/exposed-vertx-sql-clieβ¦
- 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
2_ENTRIES-
Server-Sent EventsjEaSSE - Java Easy SSE. A simple, lightweight implementation of SSE.vertx-sse - Vert.x SSE implementation + event-bus SSE bridge.
-
MailSMTP - Async SMTP client.vertx-smtp-server - SMTP server bridging to EventBus.
-
RESTRetrofit adapter for Vert.x - A highly scalable adapter for Retrofit with Vert.x.openapi4j adapter for Vert.x - OpenAPI 3 request validator and router factory alternative.Vert.x Effect HTTP client - Pure functional and reactive HTTP client using Vert.x Effect with OAuth support and retry, fallback and recovery operations.
-
Fiβ¦
- Messaging[AMQP 1.0](https://github.co...
MessagingAMQP 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 Cβ¦
- Dart[Vert.x Dart SockJS](https://gith...
DartVert.x Dart SockJS - Dart integration for Vert.x SockJS bridge and plain SockJS with use of dart:js.
Middleware
4_ENTRIES- 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
11_ENTRIESProgramming language support for Vert.x
Language extensions
- 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.
- Grooveex
Syntactic sugar + utilities (DSL builders, etc.) on top of vertx-lang-groovy.
Reactive
9_ENTRIES- 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
1_ENTRIES- Sync
Synchronous but non-OS-thread-blocking verticles.
Vert.x Event Bus Clients
14_ENTRIESClients to connect applications to the Vert.x event bus
- 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.
- Elixir
Event bus support for Elixir apps using TCP socket.
- Rust
Event bus client for Rust applications through TCP.
Vert.x Event Bus Extensions
1_ENTRIES- Eventbus Service
Code generator for type-safe event bus communication via simple Kotlin interfaces.
Cluster Managers
6_ENTRIESImplementations 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.
- Infinispan Cluster Manager
Infinispan cluster manager.
- Consul Cluster Manager
Consul cluster manager.
Cloud Support
3_ENTRIES- OpenShift DIY cartridge
OpenShift DIY Cartridge using Vert.x.
- OpenShift Vert.x cartridge
OpenShift Vert.x Cartridge using Vert.x.
- AWS SDK
Use AWS Java SDK v2 (async) with Vert.x
Microservices
8_ENTRIES- Service Discovery - Redis backend
Redis storage backend for Vert.x Service Discovery.
- Circuit Breaker
Vert.x Circuit Breaker.
- 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.
Game development
1_ENTRIESSearch Engines
2_ENTRIES- Vert.x Elasticsearch Service
Vert.x 3 Elasticsearch service with event bus proxying.
- Vert.x Solr Service
Vert.x 3 Solr service with event bus proxying.
Service Factory
5_ENTRIES- 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-factoryandvertx-maven-service-factory.
Config
2_ENTRIES- 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.
Dependency Injection
8_ENTRIES- 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
3_ENTRIES- Vert.x Unit
Async polyglot unit testing for Vert.x.
- Vert.x JUnit5
Async unit testing for Vert.x with junit5.
- Vert.x WireMongo
Lightweight MongoDB mocking for Vert.x
Development Tools
7_ENTRIES- 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.
- 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
6_ENTRIES- 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
1_ENTRIES- Vert.x Stack
Vert.x + the endorsed modules.
Examples
21_ENTRIES- 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
1_ENTRIES- Vert.x Deploy Application
(Seamless) deploy to AWS based Vert.x application clusters.
Utilities
15_ENTRIES- 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
1_ENTRIESCommunity
6_ENTRIES- 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
4_ENTRIESTutorials
1_ENTRIESFront-End
1_ENTRIES- 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.