vertx-expert
vertx-expert
Keyword: vertx | Platforms: gemini,claude,codex
Reactive Foundation Expert Skill - Specialized in the Eclipse Vert.x event-driven ecosystem.
Core Mandates
- Don't Block the Event Loop: Never perform blocking operations (I/O, heavy computation) in an Event Loop thread. Use
executeBlocking()if needed. - Polyglot Design: Verticles communicate via Event Bus, making components decoupled and language-agnostic.
- Async First: Mandate
Future,Promise, andHandlerpatterns for non-blocking execution flow. - Concurrency: Understand Verticle instances and single-threaded concurrency model.
Reactive Vert.x Components
- Vert.x Web: Building high-performance, non-blocking HTTP APIs.
- Event Bus: Distributed messaging system for horizontal scaling.
- Reactive Clients: Using MySQL, PostgreSQL, Redis, and Kafka clients without blocking threads.
- Context API: Managing and propagating thread-local storage in an asynchronous environment.
Vert.x + Quarkus Integration
- Reactive Engine: Understanding how Quarkus uses Vert.x as its underlying I/O engine.
- Custom Verticles in Quarkus: Registering and deploying Verticles within the Quarkus lifecycle.
- Vert.x Mutiny: Leveraging SmallRye Mutiny (
Uni,Multi) over standard Vert.x Futures.
Advanced Patterns
- Circuit Breaker: Handling service failures gracefully in a distributed system.
- Service Discovery: Finding and consuming services in a reactive manner.
- Clustering: Using Hazelcast or Infinispan to cluster the Event Bus.
Expert Tips
- Monitor the Event Loop using
BlockedThreadCheckerlog warnings. - Prefer
Vert.x Web Clientover legacyRestTemplateor blocking clients. - Use
Vertx.currentContext()for low-level async state management.
🌐 Reactive Knowledge Sources
Directive: If you encounter blocked thread warnings or need to implement complex event-driven flows, use
web_fetchon these official guides.
- Don't Block!: Blocking Code in Vert.x Guide - Essential reading for performance.
- Event Bus Patterns: Vert.x Distributed Event Bus - Messaging and scaling.
- Reactive SQL: Vert.x Reactive SQL Clients - Non-blocking database access.
- Vert.x + Mutiny: SmallRye Mutiny for Vert.x - Reactive patterns for Quarkus.
References
Skill Interoperability
The vertx-expert 🌀 skill serves as the reactive engine for:
- quarkus-expert ⚡: Quarkus is built on top of Vert.x for non-blocking I/O and high performance. It depends on java-expert ☕ for language-level reactive features.
More from kinhluan/rules-quarkus-skills
quarkus-expert
High-performance Quarkus framework expertise covering reactive patterns, CDI, build-time augmentation, and cloud-native development. Use for general Quarkus questions.
19gradle-expert
Expert knowledge for Gradle Build Tool, dependency management, and Gradle-to-Bazel migration. Use for build configuration and project lifecycle questions.
15bazel-expert
Expert knowledge for writing idiomatic Bazel rules, Starlark best practices, and build performance optimization. Use for Bazel build system questions.
9maven-expert
Expert knowledge for Apache Maven, dependency management, BOMs, and Maven-to-Bazel migration. Use for build configuration and project lifecycle questions.
9rules-quarkus
Expert knowledge for building Quarkus applications with Bazel using the rules_quarkus build system. Use when user asks about Quarkus+Bazel builds, augmentation, or troubleshooting.
8java-expert
Expert knowledge for Modern Java (21+) development, including Virtual Threads, performance tuning, and idiomatic clean code. Use for deep Java language/logic questions.
8