java - Websocket服务器检测数据库中的数据变化

标签 java android mysql sql-server websocket

我在本地主机中使用 Java 创建了一个 websocket 服务器,并创建了与 websocket 服务器连接的 android 应用程序,并且我在另一个虚拟主机中有数据库,websocket 服务器如何检测数据库中的任何更新?

最佳答案

根据堆栈溢出上的链接,MS SQL Server 不会触发任何可以通过 Java 应用程序观察到的通知 as here in comments

那么我们能做什么呢? 创建我们自己的听众!

我们有两个假设

  1. 如果您通过应用程序对数据库进行操作(插入、更新...):因此您可以在 Java 服务器上创建一个 webservice当新数据更新时,应用程序使用(即:调用)此Web服务,并且Web服务将通知web-socket实例

  2. 如果直接从 DBMS 访问数据库,那么 MS SQL Server 触发器只能调用 CLR,如所述 here因此您需要使用EJB创建一个Timer来观察数据库,但这将是最糟糕的解决方案

我希望这有用(:

关于java - Websocket服务器检测数据库中的数据变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45554155/

相关文章:

android - 如何将数据从函数传递到外部对象(android)

java - 使用准备好的语句返回时间戳

mysql - 500万行表中最长前缀匹配的最佳MYSQL查询

java - 如何检查上传的文件是图片还是其他文件?

java - 在线程失败和异常处理时停止 ExecutorService

java - 改造返回空对象

android - 更改抽屉导航汉堡包图标

java - 将多个数组列表连接到一个数组列表

android - 在 Android 中缓存文件时的最佳实践

mysql - 错误号 : 150 "Foreign key constraint is incorrectly formed"