【发布时间】:2017-03-04 17:24:29
【问题描述】:
我一直在探索下一个 Spring 版本中对非阻塞异步响应式 Web 应用程序的支持。大多数应用程序都倾向于与关系数据库交互,这让我感到震惊。所以只要 JDBC 是一个同步阻塞 API,并且所有主要的关系数据库仍然缺乏专有的异步驱动程序,那么整个响应式的东西可能仍然领先于时代。
然后几乎是偶然的,我发现最新版本的 MySQL 支持名为“X DevAPI”的东西,它包含在当前的 MySQL JDBC 驱动程序中(尽管它是额外的类,在 JDBC 规范之外)。
我没有听说过关于 X DevAPI 的任何宣传,而且那里的少量文档似乎强调了将 MongoDB 替换为文档存储的用例。但是,该库还包括以非阻塞异步方式访问 MySQL 关系数据库的能力。
不幸的是,唯一的文档示例是基本的“Hello World”用例。 static void main 方法从头开始建立一个新的 MySQL X 会话,并在最后关闭它。
我很好奇这个新 API 是否已准备好用于更实际的使用。具体来说,是否支持连接池?是通过 3rd-party 库,还是通过一些没有很好记录的东西原生于 MySQL 库?
或者我可能在这里遗漏了一些基本的东西,并且根本不需要连接池,因为 X DevAPI 在幕后多路复用或其他什么?
【问题讨论】:
标签: java mysql spring asynchronous reactive-programming