Lakshay Jain
Lakshay Jain

Reputation: 456

Vertx http server only creating one instance

I am creating a simple micro service using vertx and when i start my server it only create one event thread when available is 12.

My code to start server is

public static void main(String[] args) {
    Vertx vertx = Vertx.vertx();
    int processorCounts = Runtime.getRuntime().availableProcessors();
    DeploymentOptions options = new DeploymentOptions().setInstances(processorCounts);
    vertx.deployVerticle( HttpRouter.class.getName(),options);
}

And my http router looks like this

@Override
public void start() throws Exception {
    super.start();
    Router router = Router.router(vertx);
    router.get("/").handler(event -> {
        event.response().end("Hello World");
    });
    vertx.createHttpServer().requestHandler(router::accept).listen(8001);
}

Upvotes: 2

Views: 842

Answers (1)

tsegismont
tsegismont

Reputation: 9128

What is your process for testing? I assume you opened a browser and hit refresh on the same page. Then yes, the same verticle instance will handle the requests. The reason is Vert.x load balances connections among verticles instances, not requests.

Open a different browser and you should see different event loop names.

Upvotes: 2

Related Questions