{"defaults":{"groupId":"com.example","artifactId":"starter","language":"java","buildTool":"maven","vertxVersion":"5.1.3","archiveFormat":"zip","jdkVersion":"17"},"versions":[{"number":"4.5.28","exclusions":["vertx-auth-webauthn4j","vertx-auth-abac"]},{"number":"5.1.3","exclusions":["vertx-web-openapi","vertx-auth-shiro","vertx-service-factory","vertx-maven-service-factory","vertx-http-service-factory"]},{"number":"5.2.0-SNAPSHOT","exclusions":["vertx-web-openapi","vertx-auth-shiro","vertx-service-factory","vertx-maven-service-factory","vertx-http-service-factory"]}],"stack":[{"code":"web","category":"Web","items":[{"artifactId":"vertx-web","name":"Vert.x Web","description":"Vert.x-Web is a tool-kit for writing sophisticated modern web applications and HTTP microservices."},{"artifactId":"vertx-web-client","name":"Vert.x Web Client","description":"Vert.x Web Client is an easy to use advanced HTTP client."},{"artifactId":"vertx-web-graphql","name":"Web GraphQL Handler","description":"Create GraphQL servers with Vert.x Web and the GraphQL-Java library."},{"artifactId":"vertx-web-api-contract","name":"Web API Contract","description":"Web API Contract supports OpenApi 3 specification for a design first approach and provides a validation framework."},{"artifactId":"vertx-web-templ-thymeleaf","name":"Thymeleaf template engine"},{"artifactId":"vertx-web-templ-handlebars","name":"Handlebars template engine"},{"artifactId":"vertx-web-templ-pug","name":"Pug template engine"},{"artifactId":"vertx-web-templ-mvel","name":"MVEL template engine"},{"artifactId":"vertx-web-templ-pebble","name":"Pebble template engine"},{"artifactId":"vertx-web-templ-freemarker","name":"Apache FreeMarker template engine"},{"artifactId":"vertx-web-templ-rocker","name":"Rocker template engine"},{"artifactId":"vertx-web-templ-httl","name":"HTTL template engine"},{"artifactId":"vertx-web-sstore-cookie","name":"Cookie session storage"},{"artifactId":"vertx-web-sstore-redis","name":"Redis session storage"},{"artifactId":"vertx-web-sstore-infinispan","name":"Session storage with Infinispan Client"},{"artifactId":"vertx-web-validation","name":"Web Validation","description":"A library to declaratively parse and validate incoming Vert.x Web HTTP requests."},{"artifactId":"vertx-web-openapi","name":"Web OpenAPI","description":"Extends Vert.x Web to support OpenAPI 3, bringing a simple interface for building web routers that conform to OpenAPI contracts."},{"artifactId":"vertx-web-openapi-router","name":"Web OpenAPI Router","description":"Vert.x OpenAPI Router is based on Vert.x OpenAPI and only provides the router functionality."},{"artifactId":"vertx-web-proxy","name":"Vert.x Web Proxy","description":"Vert.x Web Proxy provides a handler that handles the reverse proxy logic using Vert.x Http Proxy."},{"artifactId":"vertx-uri-template","name":"Vert.x URI Template","description":"RFC 6570 URI Template implementation for Vert.x."}]},{"code":"dataaccess","category":"Data Access","description":"Vert.x provides a few different asynchronous clients for accessing various data stores from your application. You don't have to use these clients - you could use clients direct from the vendor if you prefer (e.g. MongoDB provide their own cool async and reactive clients), but these provide a simple async API which is available in various languages.","items":[{"artifactId":"vertx-pg-client","name":"Reactive PostgreSQL client"},{"artifactId":"vertx-mysql-client","name":"Reactive MySQL client"},{"artifactId":"vertx-db2-client","name":"Reactive DB2 client"},{"artifactId":"vertx-mssql-client","name":"Reactive MSSQL client"},{"artifactId":"vertx-oracle-client","name":"Reactive Oracle client"},{"artifactId":"vertx-mongo-client","name":"MongoDB client"},{"artifactId":"vertx-jdbc-client","name":"JDBC client"},{"artifactId":"vertx-redis-client","name":"Redis client"},{"artifactId":"vertx-cassandra-client","name":"Cassandra client"},{"artifactId":"vertx-sql-client-templates","name":"SQL Client Templates","description":"A small library designed to facilitate the execution and data manipulation of SQL queries."}]},{"code":"reactive","category":"Reactive","description":"Vert.x provides a few components to make your applications more reactive.","items":[{"artifactId":"vertx-rx-java","name":"Vert.x RxJava v1","description":"Vert.x API for RxJava 1."},{"artifactId":"vertx-rx-java2","name":"Vert.x RxJava v2","description":"Vert.x API for RxJava 2."},{"artifactId":"vertx-rx-java3","name":"Vert.x RxJava v3","description":"Vert.x API for RxJava 3."},{"artifactId":"vertx-reactive-streams","name":"Reactive streams","description":"Vert.x supports reactive streams so your applications can interoperate with other reactive systems such as Akka or Project Reactor."},{"artifactId":"vertx-lang-kotlin-coroutines","name":"Vert.x Kotlin coroutines","description":"Kotlin coroutines for Vert.x, gives you super powers such as async/await or Go-like channels. This enables you to write your verticle code in a familiar sequential style."}]},{"code":"microservices","category":"Microservices","description":"Vert.x offers various component to build microservice-based applications.","items":[{"artifactId":"vertx-service-discovery","name":"Vert.x Service Discovery","description":"This component lets you publish, lookup and bind to any type of services."},{"artifactId":"vertx-circuit-breaker","name":"Vert.x Circuit Breaker","description":"This component provides an implementation of the circuit breaker pattern for Vert.x"},{"artifactId":"vertx-config","name":"Vert.x Config","description":"This component provides an extensible way to configure Vert.x applications."}]},{"code":"iot","category":"IoT","items":[{"artifactId":"vertx-mqtt","name":"MQTT","description":"Vert.x MQTT (client and server) is able to handle connections, communication and messages exchange with remote MQTT clients. Its API provides a bunch of events related to protocol messages received by clients and exposes allow to send messages to them."}]},{"code":"auth","category":"Authentication and Authorisation","description":"Vert.x provides simple APIs for auth in your applications. We also provide a few out of the box implementations.","items":[{"artifactId":"vertx-auth-jdbc","name":"JDBC auth","description":"Auth implementation backed by JDBC"},{"artifactId":"vertx-auth-jwt","name":"JWT auth","description":"Auth implementation using JSON web tokens (JWT)"},{"artifactId":"vertx-auth-shiro","name":"Shiro auth","description":"Auth implementation using Apache Shiro"},{"artifactId":"vertx-auth-mongo","name":"MongoDB auth","description":"Auth implementation using MongoDB"},{"artifactId":"vertx-auth-oauth2","name":"OAuth 2","description":"Auth implementation for OAuth2"},{"artifactId":"vertx-auth-htdigest","name":".htdigest Auth","description":"Authentication and authorization support based on .htdigest files."},{"artifactId":"vertx-auth-properties","name":"Properties Auth","description":"Authentication and authorization support based on Java properties files."},{"artifactId":"vertx-auth-ldap","name":"LDAP Auth","description":"Implementation using JDK built-in LDAP capabilities."},{"artifactId":"vertx-auth-webauthn","name":"Webauthn Auth","description":"FIDO2 WebAuthn (password-less) implementation."},{"artifactId":"vertx-auth-webauthn4j","name":"Webauthn Auth with WebAuthn4J","description":"FIDO2 WebAuthn (password-less) wrapper for WebAuthn4J."},{"artifactId":"vertx-auth-htpasswd","name":".htpasswd Auth","description":"Authentication and authorization support based on .htpasswd files."},{"artifactId":"vertx-auth-sql-client","name":"Sql Client Auth","description":"Authentication and authorization support based on the Vert.x SQL client and a relational database."},{"artifactId":"vertx-auth-otp","name":"OTP Auth","description":"OTP (One Time Password Multi-Factor) implementation."},{"artifactId":"vertx-auth-abac","name":"ABAC Auth Provider","description":"Simple Attribute Based Access Control."}]},{"code":"messaging","category":"Messaging","items":[{"artifactId":"vertx-amqp-client","name":"AMQP Client","description":"A client for interacting with an AMQP 1.0 broker or router."},{"artifactId":"vertx-stomp","name":"STOMP Client and Server","description":"Vert.x provides an implementation of the STOMP protocol."},{"artifactId":"vertx-rabbitmq-client","name":"RabbitMQ Client","description":"A client to interact with RabbitMQ."},{"artifactId":"vertx-amqp-bridge","name":"AMQP Bridge","description":"A bridge for interacting with an AMQP 1.0 broker or router."}]},{"code":"integration","category":"Integration","items":[{"artifactId":"vertx-mail-client","name":"Mail Client","description":"Vert.x provides a simple SMTP mail client so you can send emails from your applications."},{"artifactId":"vertx-kafka-client","name":"Kafka Client","description":"A client to interact with Apache Kafka."},{"artifactId":"vertx-consul-client","name":"Consul Client","description":"A client to interact with Consul."},{"artifactId":"vertx-http-proxy","name":"Vert.x Http Proxy","description":"Vert.x Http Proxy is a reverse proxy based on Vert.x, it aims to implement reusable reverse proxy logic to focus on higher concerns."}]},{"code":"eventbus","category":"Event Bus Bridge","description":"Vert.x offers various bridges to extend the Event Bus beyond the JVM","items":[{"artifactId":"vertx-tcp-eventbus-bridge","name":"TCP Eventbus Bridge","description":"An eventbus bridge that lets you interact with Vert.x from any application thanks to a TCP socket."},{"artifactId":"vertx-camel-bridge","name":"Camel Bridge","description":"An eventbus bridge that lets you interact with Apache Camel endpoints and routes"}]},{"code":"monitoring","category":"Monitoring","description":"Vert.x offers various component to keep your Vert.x application on track when running in production","items":[{"artifactId":"vertx-dropwizard-metrics","name":"Metrics using Dropwizard","description":"This component captures metrics from Vert.x core components and exposes them using Dropwizard."},{"artifactId":"vertx-micrometer-metrics","name":"Metrics using Micrometer","description":"This component captures metrics from Vert.x core components and exposes them using Micrometer."},{"artifactId":"vertx-health-check","name":"Vert.x Health Check","description":"A simple API to compute and compose health checks."},{"artifactId":"vertx-zipkin","name":"Tracing using Zipkin","description":"Distributed tracing with Zipkin."},{"artifactId":"vertx-opentracing","name":"Tracing using OpenTracing","description":"Distributed tracing with OpenTracing."},{"artifactId":"vertx-opentelemetry","name":"Tracing using OpenTelemetry","description":"Distributed tracing with OpenTelemetry."}]},{"code":"testing","category":"Testing","description":"Vert.x-Unit is an unit testing tool-kit especially design to work well with asynchronous code.","items":[{"name":"Vert.x Unit","artifactId":"vertx-unit"},{"name":"Vert.x JUnit5","artifactId":"vertx-junit5"}]},{"code":"cluster","category":"Clustering","description":"Vert.x supports clustering and HA out of the box. Cluster group management is implemented in cluster managers which are pluggable.","items":[{"name":"Hazelcast Cluster Manager","artifactId":"vertx-hazelcast","description":"Cluster manager implementation that uses Hazelcast."},{"name":"Infinispan Cluster Manager","artifactId":"vertx-infinispan","description":"Cluster manager implementation that uses Infinispan."},{"name":"Apache Ignite Cluster Manager","artifactId":"vertx-ignite","description":"Cluster manager implementation that uses Apache Ignite."},{"name":"Apache Zookeper Cluster Manager","artifactId":"vertx-zookeeper","description":"Cluster manager implementation that uses Apache Zookeeper."}]},{"code":"services","category":"Services","description":"Vert.x services are a simple and effective way to encapsulate reusable functionality for use elsewhere. Services are deployed using a service identifier which decouples the user from details of the implementation.","items":[{"name":"Service Proxies","artifactId":"vertx-service-proxy","description":"Proxies allow remote event bus services to be called as if they were local."},{"name":"SockJS Service Proxies","artifactId":"vertx-sockjs-service-proxy","description":"Allow event bus services to be called from JavaScript (browser or Node.js)."},{"name":"Vert.x gRPC Netty (deprecated)","artifactId":"vertx-grpc","description":"Implement gRPC Clients and Servers with Vert.x gRPC Netty."},{"name":"Vert.x gRPC Server","artifactId":"vertx-grpc-server","description":"Implement gRPC servers powered by the Vert.x HTTP Server."},{"name":"Vert.x gRPC Client","artifactId":"vertx-grpc-client","description":"Implement gRPC clients powered by the Vert.x HTTP Client."},{"name":"Vert.x gRPC Context Storage implementation","artifactId":"vertx-grpc-context-storage","description":"Context Storage implementation which uses Vert.x local context data maps."},{"name":"Service Factories","artifactId":"vertx-service-factory","description":"How to package and deploy Vert.x independent services."},{"name":"Maven Service Factory","artifactId":"vertx-maven-service-factory","description":"This lets you dynamically install and deploy services from Maven at run-time."},{"name":"HTTP Service Factory","artifactId":"vertx-http-service-factory","description":"This lets you dynamically install and deploy services from an HTTP server (for example Bintray at run-time."}]},{"code":"standards","category":"Standards","items":[{"artifactId":"vertx-json-schema","name":"JSON Schema","description":"An extensible implementation of the Json Schema specification to validate every JSON data structure, asynchronously."}]},{"code":"devops","category":"Devops","items":[{"artifactId":"vertx-shell","name":"Shell","description":"This component lets you interact with your Vert.x application using a CLI interface."}]}],"buildTools":["maven","gradle"],"languages":["java","kotlin"],"jdkVersions":["17","21","25"],"vertxDependencies":[{"code":"web","category":"Web","items":[{"artifactId":"vertx-web","name":"Vert.x Web","description":"Vert.x-Web is a tool-kit for writing sophisticated modern web applications and HTTP microservices."},{"artifactId":"vertx-web-client","name":"Vert.x Web Client","description":"Vert.x Web Client is an easy to use advanced HTTP client."},{"artifactId":"vertx-web-graphql","name":"Web GraphQL Handler","description":"Create GraphQL servers with Vert.x Web and the GraphQL-Java library."},{"artifactId":"vertx-web-api-contract","name":"Web API Contract","description":"Web API Contract supports OpenApi 3 specification for a design first approach and provides a validation framework."},{"artifactId":"vertx-web-templ-thymeleaf","name":"Thymeleaf template engine"},{"artifactId":"vertx-web-templ-handlebars","name":"Handlebars template engine"},{"artifactId":"vertx-web-templ-pug","name":"Pug template engine"},{"artifactId":"vertx-web-templ-mvel","name":"MVEL template engine"},{"artifactId":"vertx-web-templ-pebble","name":"Pebble template engine"},{"artifactId":"vertx-web-templ-freemarker","name":"Apache FreeMarker template engine"},{"artifactId":"vertx-web-templ-rocker","name":"Rocker template engine"},{"artifactId":"vertx-web-templ-httl","name":"HTTL template engine"},{"artifactId":"vertx-web-sstore-cookie","name":"Cookie session storage"},{"artifactId":"vertx-web-sstore-redis","name":"Redis session storage"},{"artifactId":"vertx-web-sstore-infinispan","name":"Session storage with Infinispan Client"},{"artifactId":"vertx-web-validation","name":"Web Validation","description":"A library to declaratively parse and validate incoming Vert.x Web HTTP requests."},{"artifactId":"vertx-web-openapi","name":"Web OpenAPI","description":"Extends Vert.x Web to support OpenAPI 3, bringing a simple interface for building web routers that conform to OpenAPI contracts."},{"artifactId":"vertx-web-openapi-router","name":"Web OpenAPI Router","description":"Vert.x OpenAPI Router is based on Vert.x OpenAPI and only provides the router functionality."},{"artifactId":"vertx-web-proxy","name":"Vert.x Web Proxy","description":"Vert.x Web Proxy provides a handler that handles the reverse proxy logic using Vert.x Http Proxy."},{"artifactId":"vertx-uri-template","name":"Vert.x URI Template","description":"RFC 6570 URI Template implementation for Vert.x."}]},{"code":"dataaccess","category":"Data Access","description":"Vert.x provides a few different asynchronous clients for accessing various data stores from your application. You don't have to use these clients - you could use clients direct from the vendor if you prefer (e.g. MongoDB provide their own cool async and reactive clients), but these provide a simple async API which is available in various languages.","items":[{"artifactId":"vertx-pg-client","name":"Reactive PostgreSQL client"},{"artifactId":"vertx-mysql-client","name":"Reactive MySQL client"},{"artifactId":"vertx-db2-client","name":"Reactive DB2 client"},{"artifactId":"vertx-mssql-client","name":"Reactive MSSQL client"},{"artifactId":"vertx-oracle-client","name":"Reactive Oracle client"},{"artifactId":"vertx-mongo-client","name":"MongoDB client"},{"artifactId":"vertx-jdbc-client","name":"JDBC client"},{"artifactId":"vertx-redis-client","name":"Redis client"},{"artifactId":"vertx-cassandra-client","name":"Cassandra client"},{"artifactId":"vertx-sql-client-templates","name":"SQL Client Templates","description":"A small library designed to facilitate the execution and data manipulation of SQL queries."}]},{"code":"reactive","category":"Reactive","description":"Vert.x provides a few components to make your applications more reactive.","items":[{"artifactId":"vertx-rx-java","name":"Vert.x RxJava v1","description":"Vert.x API for RxJava 1."},{"artifactId":"vertx-rx-java2","name":"Vert.x RxJava v2","description":"Vert.x API for RxJava 2."},{"artifactId":"vertx-rx-java3","name":"Vert.x RxJava v3","description":"Vert.x API for RxJava 3."},{"artifactId":"vertx-reactive-streams","name":"Reactive streams","description":"Vert.x supports reactive streams so your applications can interoperate with other reactive systems such as Akka or Project Reactor."},{"artifactId":"vertx-lang-kotlin-coroutines","name":"Vert.x Kotlin coroutines","description":"Kotlin coroutines for Vert.x, gives you super powers such as async/await or Go-like channels. This enables you to write your verticle code in a familiar sequential style."}]},{"code":"microservices","category":"Microservices","description":"Vert.x offers various component to build microservice-based applications.","items":[{"artifactId":"vertx-service-discovery","name":"Vert.x Service Discovery","description":"This component lets you publish, lookup and bind to any type of services."},{"artifactId":"vertx-circuit-breaker","name":"Vert.x Circuit Breaker","description":"This component provides an implementation of the circuit breaker pattern for Vert.x"},{"artifactId":"vertx-config","name":"Vert.x Config","description":"This component provides an extensible way to configure Vert.x applications."}]},{"code":"iot","category":"IoT","items":[{"artifactId":"vertx-mqtt","name":"MQTT","description":"Vert.x MQTT (client and server) is able to handle connections, communication and messages exchange with remote MQTT clients. Its API provides a bunch of events related to protocol messages received by clients and exposes allow to send messages to them."}]},{"code":"auth","category":"Authentication and Authorisation","description":"Vert.x provides simple APIs for auth in your applications. We also provide a few out of the box implementations.","items":[{"artifactId":"vertx-auth-jdbc","name":"JDBC auth","description":"Auth implementation backed by JDBC"},{"artifactId":"vertx-auth-jwt","name":"JWT auth","description":"Auth implementation using JSON web tokens (JWT)"},{"artifactId":"vertx-auth-shiro","name":"Shiro auth","description":"Auth implementation using Apache Shiro"},{"artifactId":"vertx-auth-mongo","name":"MongoDB auth","description":"Auth implementation using MongoDB"},{"artifactId":"vertx-auth-oauth2","name":"OAuth 2","description":"Auth implementation for OAuth2"},{"artifactId":"vertx-auth-htdigest","name":".htdigest Auth","description":"Authentication and authorization support based on .htdigest files."},{"artifactId":"vertx-auth-properties","name":"Properties Auth","description":"Authentication and authorization support based on Java properties files."},{"artifactId":"vertx-auth-ldap","name":"LDAP Auth","description":"Implementation using JDK built-in LDAP capabilities."},{"artifactId":"vertx-auth-webauthn","name":"Webauthn Auth","description":"FIDO2 WebAuthn (password-less) implementation."},{"artifactId":"vertx-auth-webauthn4j","name":"Webauthn Auth with WebAuthn4J","description":"FIDO2 WebAuthn (password-less) wrapper for WebAuthn4J."},{"artifactId":"vertx-auth-htpasswd","name":".htpasswd Auth","description":"Authentication and authorization support based on .htpasswd files."},{"artifactId":"vertx-auth-sql-client","name":"Sql Client Auth","description":"Authentication and authorization support based on the Vert.x SQL client and a relational database."},{"artifactId":"vertx-auth-otp","name":"OTP Auth","description":"OTP (One Time Password Multi-Factor) implementation."},{"artifactId":"vertx-auth-abac","name":"ABAC Auth Provider","description":"Simple Attribute Based Access Control."}]},{"code":"messaging","category":"Messaging","items":[{"artifactId":"vertx-amqp-client","name":"AMQP Client","description":"A client for interacting with an AMQP 1.0 broker or router."},{"artifactId":"vertx-stomp","name":"STOMP Client and Server","description":"Vert.x provides an implementation of the STOMP protocol."},{"artifactId":"vertx-rabbitmq-client","name":"RabbitMQ Client","description":"A client to interact with RabbitMQ."},{"artifactId":"vertx-amqp-bridge","name":"AMQP Bridge","description":"A bridge for interacting with an AMQP 1.0 broker or router."}]},{"code":"integration","category":"Integration","items":[{"artifactId":"vertx-mail-client","name":"Mail Client","description":"Vert.x provides a simple SMTP mail client so you can send emails from your applications."},{"artifactId":"vertx-kafka-client","name":"Kafka Client","description":"A client to interact with Apache Kafka."},{"artifactId":"vertx-consul-client","name":"Consul Client","description":"A client to interact with Consul."},{"artifactId":"vertx-http-proxy","name":"Vert.x Http Proxy","description":"Vert.x Http Proxy is a reverse proxy based on Vert.x, it aims to implement reusable reverse proxy logic to focus on higher concerns."}]},{"code":"eventbus","category":"Event Bus Bridge","description":"Vert.x offers various bridges to extend the Event Bus beyond the JVM","items":[{"artifactId":"vertx-tcp-eventbus-bridge","name":"TCP Eventbus Bridge","description":"An eventbus bridge that lets you interact with Vert.x from any application thanks to a TCP socket."},{"artifactId":"vertx-camel-bridge","name":"Camel Bridge","description":"An eventbus bridge that lets you interact with Apache Camel endpoints and routes"}]},{"code":"monitoring","category":"Monitoring","description":"Vert.x offers various component to keep your Vert.x application on track when running in production","items":[{"artifactId":"vertx-dropwizard-metrics","name":"Metrics using Dropwizard","description":"This component captures metrics from Vert.x core components and exposes them using Dropwizard."},{"artifactId":"vertx-micrometer-metrics","name":"Metrics using Micrometer","description":"This component captures metrics from Vert.x core components and exposes them using Micrometer."},{"artifactId":"vertx-health-check","name":"Vert.x Health Check","description":"A simple API to compute and compose health checks."},{"artifactId":"vertx-zipkin","name":"Tracing using Zipkin","description":"Distributed tracing with Zipkin."},{"artifactId":"vertx-opentracing","name":"Tracing using OpenTracing","description":"Distributed tracing with OpenTracing."},{"artifactId":"vertx-opentelemetry","name":"Tracing using OpenTelemetry","description":"Distributed tracing with OpenTelemetry."}]},{"code":"testing","category":"Testing","description":"Vert.x-Unit is an unit testing tool-kit especially design to work well with asynchronous code.","items":[{"name":"Vert.x Unit","artifactId":"vertx-unit"},{"name":"Vert.x JUnit5","artifactId":"vertx-junit5"}]},{"code":"cluster","category":"Clustering","description":"Vert.x supports clustering and HA out of the box. Cluster group management is implemented in cluster managers which are pluggable.","items":[{"name":"Hazelcast Cluster Manager","artifactId":"vertx-hazelcast","description":"Cluster manager implementation that uses Hazelcast."},{"name":"Infinispan Cluster Manager","artifactId":"vertx-infinispan","description":"Cluster manager implementation that uses Infinispan."},{"name":"Apache Ignite Cluster Manager","artifactId":"vertx-ignite","description":"Cluster manager implementation that uses Apache Ignite."},{"name":"Apache Zookeper Cluster Manager","artifactId":"vertx-zookeeper","description":"Cluster manager implementation that uses Apache Zookeeper."}]},{"code":"services","category":"Services","description":"Vert.x services are a simple and effective way to encapsulate reusable functionality for use elsewhere. Services are deployed using a service identifier which decouples the user from details of the implementation.","items":[{"name":"Service Proxies","artifactId":"vertx-service-proxy","description":"Proxies allow remote event bus services to be called as if they were local."},{"name":"SockJS Service Proxies","artifactId":"vertx-sockjs-service-proxy","description":"Allow event bus services to be called from JavaScript (browser or Node.js)."},{"name":"Vert.x gRPC Netty (deprecated)","artifactId":"vertx-grpc","description":"Implement gRPC Clients and Servers with Vert.x gRPC Netty."},{"name":"Vert.x gRPC Server","artifactId":"vertx-grpc-server","description":"Implement gRPC servers powered by the Vert.x HTTP Server."},{"name":"Vert.x gRPC Client","artifactId":"vertx-grpc-client","description":"Implement gRPC clients powered by the Vert.x HTTP Client."},{"name":"Vert.x gRPC Context Storage implementation","artifactId":"vertx-grpc-context-storage","description":"Context Storage implementation which uses Vert.x local context data maps."},{"name":"Service Factories","artifactId":"vertx-service-factory","description":"How to package and deploy Vert.x independent services."},{"name":"Maven Service Factory","artifactId":"vertx-maven-service-factory","description":"This lets you dynamically install and deploy services from Maven at run-time."},{"name":"HTTP Service Factory","artifactId":"vertx-http-service-factory","description":"This lets you dynamically install and deploy services from an HTTP server (for example Bintray at run-time."}]},{"code":"standards","category":"Standards","items":[{"artifactId":"vertx-json-schema","name":"JSON Schema","description":"An extensible implementation of the Json Schema specification to validate every JSON data structure, asynchronously."}]},{"code":"devops","category":"Devops","items":[{"artifactId":"vertx-shell","name":"Shell","description":"This component lets you interact with your Vert.x application using a CLI interface."}]}],"vertxVersions":["4.5.28","5.1.3","5.2.0-SNAPSHOT"]}