这是我的代码。它似乎只执行1个请求
public class RestFulService extends AbstractVerticle {
@Override
public void start() throws Exception {
Router router = Router.router(vertx);
router.get("/test/hello/:input").handler(new Handler<RoutingContext>() {
@Override
public void handle(RoutingContext routingContext) {
WorkerExecutor executor = vertx.createSharedWorkerExecutor("my-worker-pool",10,120000);
executor.executeBlocking(future -> {
try {
Thread.sleep(5000);
future.complete();
} catch (InterruptedException e) {
e.printStackTrace();
}
},false, res -> {
System.out.println("The result is: " + res.result());
routingContext.response().end("routing1"+res.result());
executor.close();
});
}
});
}
当我同时从浏览器拨打10个请求时,需要50000ms完成所有请求。 请指导我修复它。
答案 0 :(得分:0)
尝试使用curl,我怀疑您的浏览器对所有请求使用相同的连接(因此在发送下一个请求之前等待响应)。
顺便说一下,您不需要在每个请求上拨打createSharedWorkerExecutor
。启动Verticle时可以执行一次。