我可以在Vert.x的worker verticle中使用JDBC阻塞调用吗?

我可以在Vert.x的worker verticle中使用JDBC阻塞调用吗?,jdbc,tcp,vert.x,Jdbc,Tcp,Vert.x,我在Vert.x的手册中找到了以下句子 也不允许Worker Verticle使用TCP或HTTP客户端或 服务器 JDBC也是TCP客户机,对吗 那么我不能在worker verticle中使用JDBC阻塞调用 参考: 不,不能在Verticle中使用阻止JDBC调用。有一个使用工作队列模块跨多个处理器共享负载的 Vert.x 2.0将允许在模块中使用线程,因此问题应该会少一些目前(Vert.x 3.x),您可以将verticle部署为worker verticle或使用 vertx.exec

我在Vert.x的手册中找到了以下句子

也不允许Worker Verticle使用TCP或HTTP客户端或 服务器

JDBC也是TCP客户机,对吗

那么我不能在worker verticle中使用JDBC阻塞调用

参考:

不,不能在Verticle中使用阻止JDBC调用。有一个使用工作队列模块跨多个处理器共享负载的

Vert.x 2.0将允许在模块中使用线程,因此问题应该会少一些

目前(Vert.x 3.x),您可以将verticle部署为worker verticle或使用

vertx.executeBlocking(...)
在这两种情况下,您的代码都将使用工作池中的线程运行,而不是在事件循环线程上运行,从而允许您调用阻塞代码


您可以在worker verticle中使用HTTP或TCP调用,但这些调用必须是“异步”的。你不能挡住线。正如Kamil(up)所说,您必须将verticle部署为工作进程,如果您有一个同步调用,则应该使用vertx.executeBlocking(…)。 这里有一些信息: