Skip to content

Examples for the Manning "Vert.x in Action" book

License

Notifications You must be signed in to change notification settings

jponge/vertx-in-action

Repository files navigation

Build Status

Vert.x in Action book examples

👋 Welcome!

These are the working examples for Vert.x in Action (ISBN 9781617295621) from Manning Publications Co and written by Julien Ponge.

How to open and run the examples?

Readers of the book should directly open projects from subfolders: they are all independent.

You will find both Gradle and Maven build descriptors for each project, so you can load the projects with text editors or integrated development environments such as IntelliJ IDEA, Eclipse IDE or Microsoft Visual Studio Code.

As an example if you want to build the chapter 1 with Gradle, open a terminal and run:

$ cd chapter1
$ ./gradlew build

or with Maven run:

$ cd chapter1
$ mvn package

The book examples work best using some Unix environment: Linux, macOS or the Windows Subsystem for Linux from Microsoft.

What is the structure of the repository?

The following folders are available:

  • chapter1
  • chapter2
  • chapter3
  • chapter4
  • chapter5
  • chapter6
  • part2-steps-challenge (covers chapters 7 to 12)
  • chapter13

The master branch is where you must look for working examples.

Chapter 12 provides variants of the same code which you can get from the following branches:

  • chapter12/public-api-with-timeouts
  • chapter12/public-api-with-circuit-breaker
  • chapter12/public-api-with-circuit-breaker-and-timeouts

Will there be updates?

The book went to production with Manning in August 2020.

This repository contains samples against Eclipse Vert.x 4.0.3 (see tag vertx-4.0.3) that was released in March 2021.

At my own discretion I may update to newer versions of Vert.x when they are published.

Note that the Vert.x core team has made a goal of ensuring that Vert.x 4.0.3 will work against all examples in this repository.

Can I contribute?

Due to the nature of this project I will not accept any contribution to this repository.

What if I have a question / issue?

If you are a Manning customer then you have access to forums. Please refer to Vert.x in Action on the Manning website where a link to the forum is provided.

If you have a question on Vert.x then please get in touch with the Eclipse Vert.x community. There are several channels that you can use including public mailing-lists and chat.

If you have a problem with your book order or any special request, then please contact Manning.

Errata

November 2020

Due to a peculiarities in how TestContainers supports Docker Compose it may be necessary to explicitly await for containers to be exposed, or test executions can sometimes fail because a container port hasn't been exposed yet.

This can be done by calling the withExposedService method on a DockerComposeContainer instance, as in:

@Container
private static final DockerComposeContainer CONTAINERS = new DockerComposeContainer(new File("../docker-compose.yml"))
  .withExposedService("mongo_1", 27017);

This fix has been applied to the tests in part2-steps-challenge.