A curated list of awesome Vert.x resources, libraries, and other nice things.
Latest commit fa91da3 Jan 13, 2017 @cescoffier cescoffier committed on GitHub Merge pull request #82 from eemmiirr/patch-2
Redesigned Vert.x Elasticsearch Service

README.md

Awesome Vert.x Awesome

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 (stack) next to it. This icon means the component is part of the official Vert.x stack.

For Vert.x version 2 check this page.

Contents

Web Frameworks

  • Vert.x Web (stack) - Full featured web toolkit for Vert.x.
  • Vert.x Jersey - Create JAX-RS Jersey resources in Vert.x.
  • Vert.x Nubes - Provides an annotation layer on top of Vert.x Web.
  • 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.
  • katharsis-vertx - JSONAPI implementation for Vert.x 3.

Authentication Authorisation

Database Clients

Clients for connecting to databases

  • Relational Databases

    • JDBC (stack) - Asynchronous interface around a JDBC datasource.
    • MySQL - Asynchronous client for MySQL.
    • PostgreSQL - Asynchronous client for PostgreSQL.
    • 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 (stack) - An asynchronous client for interacting with a MongoDB database.
    • Redis (stack) - Asynchronous API to interact with Redis.
    • Cassandra - Asynchronous API to interact with Cassandra and Cassandra Mapping.
    • OrientDB - Non-blocking OrientDB server integration.
    • MarkLogic - Asynchronous client for Marklogic Database Server.
  • vertx-pojo-mapper - Non-blocking POJO mapping for MySQL and MongoDB.

Integration

  • Server-Sent Events

    • jEaSSE - Java Easy SSE. A simple, lightweight implementation of SSE.
  • Mail

  • REST

    • Vertx REST Client - A REST client for vertx with support for RxJava and request caching.
  • Messaging

    • AMQP 1.0 (stack) - Interact with AMQP 1.0 servers using the Vert.x Producer and Consumer APIs.
    • MQTT server (stack) - Provides an MQTT server for handling all the MQTT communication and messages exchanges with clients.
    • RabbitMQ (stack) - A RabbitMQ client (AMQP 0.9.1).
    • 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.
    • 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.
  • JavaEE

    • JCA adaptor (stack) - 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

Middleware

  • Gateleen - Middleware library based on Vert.x to build advanced JSON/REST communication servers

Language Support

Programming language support for Vert.x

Language extensions

Reactive

  • Reactive Streams (stack) - Vert.x Reactive Streams.
  • Reactive Extensions (stack) - Vert.x Reactive Extensions.
  • 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.

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

Cluster Managers

Implementations of the Vert.x cluster manager SPI

Cloud Support

Docker

Microservices

Search Engines

Service Factory

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 Vertx). Allows you to use QBit, Vertx, 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.

Testing

  • Vert.x Unit (stack) - Async polyglot unit testing for Vert.x.

Development Tools

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.

Distribution

Examples

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

Community

  • User Group - Discuss all user issues related to using Vert.x.
  • Developer Group - A group for Vert.x core developers and contributors.
  • IRC channel - This is our day-to-day office: #vertx on freenode.net.
  • 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.

Contribute

Contributions welcome! Read the contribution guidelines first.