当前位置: 首页 > 面试题库 >

如何使用Postgres数据库在Java中获得异步/事件驱动的LISTEN / NOTIFY支持?

阎功
2023-03-14
问题内容

据我所知,Java中用于LISTEN / NOTIFY的JDBC驱动程序不支持真正的事件驱动通知。您必须经常轮询数据库,以查看是否有新的通知。

我在Java中有哪些选项(可能是JDBC之外的其他选项)(如果有的话),以真正的事件驱动方式异步获取通知而无需轮询?


问题答案:

使用pgjdbc-ng驱动程序。

http://impossibl.github.io/pgjdbc-ng/

它支持异步通知,无需轮询。我已经成功使用了。

参见http://blog.databasepatterns.com/2014/04/postgresql-nofify-websocket-
spring-mvc.html

奥列格也有一个很好的例子答案



 类似资料:
  • 如果组件不是和路由绑定的页面组件,原则上是不可以使用异步数据的。因为 Nuxt.js 仅仅扩展增强了页面组件的 data 方法,使得其可以支持异步数据处理。 对于非页面组件,有两种方式可以实现数据的异步获取: 在组件的 mounted 方法里面实现异步获取数据的逻辑,之后设置组件的数据,限制是:不支持服务端渲染。 在页面组件的asyncData或fetch方法中进行API调用,并将数据作为prop

  • 什么是 Netty Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。Netty 提供高性能和可扩展性,让你可以自由地专注于你真正感兴趣的东西,你的独特的应用! 在这一章我们将解释 Netty 在处理一些高并发的网络问题体现的价值。然后,我们将介绍基本概念和构成 Netty 的工具包,我们将在这本书的其余部分深入研究。 一些历

  • 我刚开始冬眠。我需要在postgres中存储文件,列的数据类型是。我在互联网上四处寻找这个案例的工作演示,但我找不到任何。 Hibernate映射:

  • 我的docker组合文件有三个容器,web、nginx和Postgres。Postgres看起来是这样的: null

  • 问题内容: 我有很多关于在Android应用程序中处理异步数据库的问题。 由于我知道数据库是异步的,因此我尝试了几种方法来处理它。如您在代码中所见,我有两个函数需要在数据库中使用数组。我的第一个函数()将对数据库中的数组应用更改,而我的第二个函数()需要将此数组与从我的第一个函数中应用的更改一起使用。这是我的代码: 这是setArray_for_database的代码: 这是我的把戏。具有另一个内

  • 我想在Play Framework 2项目中使用MongoDB异步Java驱动程序,MongoDB异步Java驱动程序return SingleResponseCallback。我不知道如何在播放控制器中处理这种结果。 例如,如何从播放控制器中的以下代码返回计数: 如何从SingleResultCallback获得结果,然后将其转换为Promise?这样好吗?这种情况下的最佳实践是什么?