Skip to content

Latest commit

 

History

History
 
 

maven-verticle

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Vert.x Simple Maven Verticle project

This project is very similar to the maven-simplest project but instead of embedding Vert.x it shows an example of writing the code as a verticle.

You can run it directly in your IDE by creating a run configuration that uses the main class io.vertx.core.Launcher, passes in the arguments run io.vertx.example.HelloWorldVerticle, and specify using the classpath of module maven-verticle.

The pom.xml uses the Maven shade plugin to assemble the application and all it’s dependencies into a single "fat" jar.

To build a "fat jar"

mvn package

To run the fat jar:

java -jar target/maven-verticle-3.9.0-fat.jar

(You can take that jar and run it anywhere there is a Java 8+ JRE. It contains all the dependencies it needs so you don’t need to install Vert.x on the target machine).

Now point your browser at http://localhost:8080

The application can be launched directly from Maven:

  • to run it using the classes form target/classes: mvn compile exec:java@run

  • to run the fat jar: mvn package exec:exec@run-app

Writing code in verticles allow you to scale it more easily, e.g. let’s say you have 8 cores on your server and you want to utilize them all, you can deploy 8 instances as follows:

java -jar target/maven-verticle-3.9.0-fat.jar -instances 8

You can also enable clustering and ha at the command line, e.g.

java -jar target/maven-verticle-3.9.0-fat.jar -cluster
java -jar target/maven-verticle-3.9.0-fat.jar -ha

You can also pass a configuration to the verticle:

java -jar target/maven-verticle-3.9.0-fat.jar -conf src/conf/my-conf.json

Please see the docs for a full list of Vert.x command line options.