基本上,我希望每次数据库状态更改时都在每个客户端获取当前数据库状态。
假设我有两台计算机,每台计算机运行相同的Java应用程序,而PostgreSQL运行在服务器中。
当客户端连接到我的服务器并执行将对象(假设为Person)持久存储到数据库中的操作时,持久化对象字段(比如ID,name,surname)出现在执行该命令的客户端主窗口中操作,但命名字段不会出现在其他客户端的窗口中。
我的两个客户端可以完美连接到我的服务器。
如果您认为某些代码可以提供帮助,请告诉我。
顺便说一句,我听说过一个叫做“服务器推送”的东西,能帮助我想做什么吗?
阿尔伯特。
PS:对不起,我的英语不是很好:P
答案 0 :(得分:0)
你想要使用postgresql的LISTEN / NOTIFY功能。
以下是使用JDBC(http://wiki.postgresql.org/wiki/PgNotificationPoller)
的示例同样,How to make a database listener with java?已经提供了一些更好的Hibernate-y资源。
基本上,在最高级别,您将使用一些后台线程来轮询服务器,以查看您想要更新的通道是否有任何NOTIFY事件。如果存在更新,则可以相应地更新GUI。