2011-05-29 55 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侦听器将从数据库接收该事件。