2011-05-29 52 views
0

我想不斷檢查數據庫中的表以查看是否已將新行添加到該表中。這是作爲背景進程運行的。我認爲一個線程應該用於這個任務。但我不知道如何編寫代碼。有人可以幫我解決這個問題嗎?使用線程的後臺進程

+4

您的問題有點過於籠統,因爲要回答它需要我們編寫完整的教程。而不是我們這樣做,你檢查了已經存在的線程教程嗎?如果是這樣,你有什麼特別*你困惑?這裏的一般規則是,更具體的問題通常是更具體(和有幫助)的答案。 – 2011-05-29 13:24:06

+3

線程有很多示例,以此開始:http://www.exampledepot.com/egs/java.lang/BasicThread.html。另請參閱線程的文檔:http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html。 – MByD 2011-05-29 13:38:19

+0

查看'java.util.Timer'(和相關的'TimerTask');它執行定期任務。 – toto2 2011-05-29 14:27:17

回答

1

那麼,你真的沒有給我們太多的東西繼續下去。

您可能會發現使用database trigger更容易,它會在發生指定操作(例如插入新數據)時觸發一些代碼。您需要查找特定數據庫的詳細信息。

我剛剛意識到您可能已經嘗試使用觸發器並失敗:sql trigger not work as expected。這兩種方法都可以工作,但我寧願將所有內容都保存在數據庫中,並儘可能避免外部過程。

如果發生插入,但由於某種原因您的進程已經死亡,會發生什麼?

0

Oracle現在可以通過監聽器與Java進行通信。因此,如果您註冊了某個事件,您的Java偵聽器將從數據庫接收該事件。