㈠ 怎樣用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如何對監控Mysql資料庫對象是否出現錯誤
你說的資料庫對象時什麼不太明白。。。
一般做資料庫監控都是定時執行一條簡單的sql就OK了
類似:
select(0)fromtest;
不過這個功能很多有數據源的服務,或者監控系統都實現了。
weblogic、nagios啥的都有這個功能,自己配一下就行。
資料庫監控埠也行,定時telnet