从数据库中提取时的Vertx阻塞处理程序

时间:2017-05-08 20:38:21

标签: java database http vert.x

对于我的Web应用程序,我需要使用模板和静态css和JavaScript文件来提供动态HTML页面。除了我的每个动态HTML页面都需要从数据库中提取并阻止事件循环中的线程。所以在这种情况下,我将不得不为每一个路由/页面使用阻塞处理程序。我的问题是,这是否合适?这对于一次访问该网站的许多用户有帮助吗?

另外,如果我想使用自己的JDBC客户端,而不是Vertx提供的客户端,我可以使用它吗? (例如,将HikariCP用于我的项目并使用独立于Vertx的那个)

1 个答案:

答案 0 :(得分:0)

首先,HikariCP只是Vertx的另一个池提供商。因此,您可以将它与Vertx客户端一起使用。

http://vertx.io/docs/vertx-jdbc-client/java/

如果您使用Vertx JDBC客户端,则根本不需要阻止任何内容。 它看起来像是:

router
   db (callback)
      freemaker (callback)
         puts the result back on response

见这个官方例子:
https://github.com/vert-x3/vertx-examples/blob/3.3.0/web-examples/src/main/java/io/vertx/example/web/templating/freemarker/Server.java

注意引擎是如何使用的。在您的情况下,您可以在数据库回调中包装ctx.put("name", "Vert.x Web")中的所有内容,并相应地设置上下文。