我在本地主机中使用 Java 创建了一个 websocket 服务器,并创建了与 websocket 服务器连接的 android 应用程序,并且我在另一个虚拟主机中有数据库,websocket 服务器如何检测数据库中的任何更新?
最佳答案
根据堆栈溢出
上的链接,MS SQL Server 不会触发任何可以通过 Java 应用程序观察到的通知 as here in comments
那么我们能做什么呢? 创建我们自己的听众!
我们有两个假设
如果您通过应用程序对数据库进行操作(插入、更新...):因此您可以在 Java 服务器上创建一个
webservice
当新数据更新时,应用程序使用(即:调用)此Web服务
,并且Web服务
将通知web-socket
实例如果直接从 DBMS 访问数据库,那么 MS SQL Server 触发器只能调用
CLR
,如所述 here因此您需要使用EJB
创建一个Timer
来观察数据库,但这将是最糟糕的解决方案
我希望这有用(:
关于java - Websocket服务器检测数据库中的数据变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45554155/