java有什么方法可以监听数据库 如何用java监听数据库变化
java有什么方法可以监听数据库
如果你要用JDBC来监听数据库变化的话,你要比较的话就需要在本地创建一个数据库快照,这样是非常非常浪费资源的。
如果你非要监听也是有办法的,你可以将CachedRowSet接口和timer结合起来实现你想要的功能。
如何用java监听数据库变化
可以使用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的数据库变化。
java求高手,怎样随时监测数据库中数据的增删改查?
这个要看你监控的切面在那里
想项目系统中监控,那里你就要监控所有的增删改查方法
要么你使用动态代理,要么你使用spring的AOP
想在数据库中监控,可以考虑触发器
mysql也有触发器,可以考虑下
java如何对监控Mysql数据库对象是否出现错误
你说的数据库对象时什么不太明白。。。
一般做数据库监控 都是定时执行一条简单的sql 就OK了
类似:
select (0) from test;不过这个功能很多有数据源的服务,或者监控系统都实现了。
weblogic、nagios啥的 都有这个功能,自己配一下就行。
数据库监控端口也行,定时telnet