In the beginning there was Vert.x

You can’t do much in Vert.x-land unless you can communicate with a Vertx object!

It’s the control centre of Vert.x and is how you do pretty much everything, including creating clients and servers, getting a reference to the event bus, setting timers, as well as many other things.

So how do you get an instance?

When you start your application with the CLI, a vertx variable will be made available to your code.

server = vertx.create_http_server() (1)
server.request_handler() { |request|
 request.response().end("Hello world")
})
server.listen(8080)
  1. At runtime, vertx variable is available

Then run the applicaton with the CLI:

vertx run my-verticle.rb
Note
Most applications will only need a single Vert.x instance, but it’s possible to create multiple Vert.x instances if you require, for example, isolation between the event bus or different groups of servers and clients.

Specifying options when creating a Vertx object

When creating a Vert.x object you can also specify options if the defaults aren’t right for you.

vertx run my-verticle.rb -options my-options.json

If you want to increase the worker pool size, your my-options.json file may look like:

{
 "workerPoolSize": 40
}

The VertxOptions object has many settings and allows you to configure things like clustering, high availability, pool sizes and various other settings.

Creating a clustered Vert.x object

If you’re creating a clustered Vert.x (See the section on the event bus for more information on clustering the event bus), add the -cluster option:

vertx run my-verticle.rb -cluster