
Explore Vertex code examples and tooling, access the GitHub repository, and learn to set up IntelliJ or alternatives and Docker for reactive Java microservices.
Explore how non-blocking event loop threads enable parallel task processing, why never blocking the event loop matters, and how worker threads handle blocking I/O.
Demonstrate point to point messaging on the event bus by wiring sender and receiver verticals, using a named address and a periodic timer for one-way, thread-safe communication.
Explore the Json array object in vert.x, learning that an array holds numbers, strings, booleans, or objects. Build, encode, and test arrays containing Json objects and mixed content.
Learn how Vert.x uses asynchronous event loops to scale efficiently and avoid callback hell. Understand how a promise yields an eventual value and a future reads it.
Learn to work with futures in Vert.x by mapping promise results, chaining futures, and coordinating tasks with composite futures such as all, any, and join.
Bootstraps a Vert.x web project, selects version four with Maven, adds the Vertex web dependency, configures Logback, deploys the main vertical, and starts the http server on port 8088.
Add a new quotes rest api endpoint with a path parameter, returning a json quote for a given asset and verify behavior with a junit test using vert.x http routing.
Implement a http delete endpoint for the watch list rest api by parsing the account id from the path and deleting the watch list entry in the in-memory map.
Define custom headers with Vertex web using put header, send them in http responses, fetch via the assets rest api web client, and verify with test asserts.
Refactor http handlers by introducing dedicated get assets, get quote, and watchlist handlers that implement the Vertex handler interface and use routing context, improving testability and end-to-end endpoint clarity.
scale the rest api vertically, introduce a 200 ms artificial delay, and run a Witchita load test with four workers across four event loops to measure latencies and 100% success.
Configure a vertex application using vertex config with multiple stores in json, properties, and yaml formats, and apply environment variable filtering and priority rules.
Learn how to configure the Vert.x server port with environment variables and system properties, add multiple config stores, and understand how store order overrides values.
Configure a test port of 9000 and update web client to use it, enabling tests by extending an abstract rest api test and bootstrapping port via environment and system properties.
Configure a Postgres database pool per rest API vertical with the vertex pg client at server startup using host, port, database, user, and password; default max pool size is four.
Create an http delete endpoint in the watchlist rest api using a sql template to delete by account, via a database pool and a Vert.x handler, returning 204.
Implement database transactions with Vert.x by deleting and re-inserting watch list items inside a single transaction, using Vertex futures compose to chain operations and ensure rollback on failure.
Learn to integrate vert.x with a quarkus application by publishing and consuming user data on the event bus, using a web client and mutiny to fetch from a rest endpoint.
Bootstraps a Vert.x project to implement a simple WebSocket server in Java, showing how to accept connections, send a 'connected' message, and log events on port 8900 for reactive microservices.
Celebrate finishing the Learn Vertex Chorus and recap core concepts like the vertex event loop, how to use vertex, the vertex event bus, promises and futures, and directive database access.
In this course you will learn how to build reactive web applications using the Vert.x toolkit. The course starts with the core features of Vert.x and throughout the course we will cover more and more Vert.x modules.
The course is very practical and most of the course are hands-on coding examples. Basic Java 11 knowledge and docker experience is preferred to be able to follow everything in the course.
Vert.x Core:
Understand the basic concepts: Future, Promise & the event bus
Vert.x Web:
Build reactive REST APIs
Vert.x Reactive SQL Clients
Reactive non-blocking Database Access.
Vert.x Config:
Configure your application properly
and more...
Vert.x was one of the first JVM based reactive libraries. It is battle proven and used by a lot of companies in production. It found its way into multiple components and plays a key role in:
Hibernate Reactive:
Non-blocking database access featuring the reactive SQL Clients from Vert.x
Quarkus Reactive:
Reactive programming using Vert.x
Inject Vert.x into Quarkus Beans
Deploy Vert.x Verticles
Use the Vert.x Eventbus
The original content of this course is only available on Udemy and the copyright is by the instructor!
About the instructor:
Daniel is a senior software engineer and developed multiple web applications serving millions of users. He started as full stack developer and was able to gain experience for frontend and backend development.
He found his passion in developing highly scalable applications. Currently he works as a senior software engineer on a fin-tech platform that is used by more than three million users (2022). He advanced into a role as Technical Lead and offers his knowledge to his colleagues. The fin-tech platform utilises Technologies such as Apache Kafka, Java (Vert.x & Micronaut), PostgreSQL and AWS and consists of multiple Microservices.