2011-05-18 34 views
-1

在java中,一個線程將數據寫入數據庫表,它將有一個類似Last_modified_timestamp的列。然後,另一個後臺線程將掃描該表以查看那裏的新行。掃描儀將選擇那些新添加的並執行一些邏輯。如何在java中編寫後臺掃描程序線程?

如何寫這些系統?

感謝

回答

1

後臺掃描的線程可以使用計時器來檢查表中插入新的每X秒,那麼你也可以讓這個線程與myThread.setDeamon(真)守護進程,使與運行優先級較低。除非你需要這個線程儘快檢查新的插入。

掃描儀需要一個「last_timestamp_proceed」屬性,每次掃描儀選擇新添加的行時,都會更新該屬性。 您的後臺掃描程序線程只需要使用WHERE子句在表上執行查詢,以便在「last_timestamp_proceed」屬性的值之後獲取具有「last_modified_timestamp」值的行。

一件事要注意過是你想在掃描儀線程運行的邏輯,也許你在數據庫記錄將被同時掃描的線程提取出來,並做一些邏輯改變,你可能需要之前鎖定這些記錄掃描程序線程執行一些邏輯,然後一旦完成邏輯,解鎖行。