2011-05-18 67 views
-1

在java中,一个线程将数据写入数据库表,它将有一个类似Last_modified_timestamp的列。然后,另一个后台线程将扫描该表以查看那里的新行。扫描仪将选择那些新添加的并执行一些逻辑。如何在java中编写后台扫描程序线程?

如何写这些系统?

感谢

回答

1

后台扫描的线程可以使用计时器来检查表中插入新的每X秒,那么你也可以让这个线程与myThread.setDeamon(真)守护进程,使与运行优先级较低。除非你需要这个线程尽快检查新的插入。

扫描仪需要一个“last_timestamp_proceed”属性,每次扫描仪选择新添加的行时,都会更新该属性。 您的后台扫描程序线程只需要使用WHERE子句在表上执行查询,以便在“last_timestamp_proceed”属性的值之后获取具有“last_modified_timestamp”值的行。

一件事要注意过是你想在扫描仪线程运行的逻辑,也许你在数据库记录将被同时扫描的线程提取出来,并做一些逻辑改变,你可能需要之前锁定这些记录扫描程序线程执行一些逻辑,然后一旦完成逻辑,解锁行。