package io.vertx.example.web.blockinghandler; import io.vertx.core.AbstractVerticle; import io.vertx.example.util.Runner; import io.vertx.ext.web.Router; /* * @author <a href="http://tfox.org">Tim Fox</a> */ public class Server extends AbstractVerticle { // Convenience method so you can run it in your IDE public static void main(String[] args) { Runner.runExample(Server.class); } @Override public void start() throws Exception { Router router = Router.router(vertx); router.route().blockingHandler(routingContext -> { // Blocking handlers are allowed to block the calling thread // So let's simulate a blocking action or long running operation try { Thread.sleep(5000); } catch (Exception ignore) { } // Now call the next handler routingContext.next(); }, false); router.route().handler(routingContext -> { routingContext.response().putHeader("content-type", "text/html").end("Hello World!"); }); vertx.createHttpServer().requestHandler(router::accept).listen(8080); } }