怎样用JAVA来监听数据库里的变化

怎样用JAVA来监听数据库里的变化,第1张

可以使用ContentObserver对象监听,如下:

public final void registerContentObserver(Uri uri, boolean notifyForDescendents, ContentObserver observer)

功能:为指定的Uri注册一个ContentObserver派生类实例,当给定的Uri发生改变时,回调该实例对象去处理。

参数:uri 需要观察的Uri(需要在UriMatcher里注册,否则该Uri也没有意义了)

notifyForDescendents 为false 表示精确匹配,即只匹配该Uri

为true 表示可以同时匹配其派生的Uri,举例如下:

假设UriMatcher 里注册的Uri共有一下类型:

1 、content://com.qin.cb/student (学生)

2 、content://com.qin.cb/student/#

3、 content://com.qin.cb/student/schoolchild(小学生,派生的Uri)

假设我们当前需要观察的Uri为content://com.qin.cb/student,如果发生数据变化的 Uri 为

content://com.qin.cb/student/schoolchild ,当notifyForDescendents为 false,那么该ContentObserver会监听不到,

但是当notifyForDescendents 为ture,能捕捉该Uri的数据库变化。

ajax 轮训,HTML5 websocket 触发器是在数据库端的,实现不了你的要求。

ajax轮训每隔几秒就查询一次,保存上次的总条数,然后下次只要不一样了就d窗。

你这个对服务器压力很大(如果用户很多的话

这应该不好做。毕竟串口不像以太网,以太网是广播的,自然可以很容易实现第三方监控。

串口的话,你需要干预进去到硬件驱动层面想办法。

还有,从硬件上想办法,如用个串口转以太网转化器,之后在网络上侦听


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6784435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存