我需要检查是否已将新记录插入数据库。我正在创建监听器以连续轮询数据库,但是我需要检查新记录是否已插入新记录中的表或者我要获取该数据,否则无需从表中获取数据。 这是我的听众课程..
public class GetGpsDataListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
Timer timer = new Timer();
timer.schedule(new MyTimerTask(), 1000, 1000);
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
}
}
这是我的Timer课程..
public class MyTimerTask extends TimerTask {
@Override
public void run() {
System.out.println("Inside run");
// Here I will connect to database to check new record from table..
}
}
答案 0 :(得分:1)
如果您的应用程序正在执行所有插入操作,那么我认为我不会轮询数据库以查看是否已插入新记录。轮询数据库可能是资源密集型的,尤其是在表变大的情况下,通常意味着您需要在应用程序中保留一些状态以允许您查看已更改的内容。
当您的应用程序执行插入操作时,它将能够看到
我只是允许执行insert的代码与插件成功的单独类进行通信,插入记录的id是什么。单独的类可以做任何它需要做的事情。
如果这需要异步完成,您可以考虑将ID拉到队列并允许您的计时器任务读取它们。