目前我使用while(true)
andThread.sleep()
来检查数据库中的新记录并执行 java 代码。
这是一个例子:
public class StartCommands implements Runnable{
private Active_Job activeJob;
Runnable execute_command;
public StartCommands(){
activeJobs = new Active_Job();
}
@Override
public void run(){
int jobId = 0;
while(true){
//access the db and get one row from the table by the status
jobId = activeJobs.get(Status.NEW);
if (jobId > 0){
activeJob.updateStatus(Status.INIT);
execute_command = activeJob.getCommand();
new Thread(execute_command).start();
activeJob = new Active_Job();
jobId = 0;
}
Thread.sleep(10*1000);
}
}
}
我在代码中很少有地方使用这种方法。但我不喜欢无限循环,每 10 秒检查一次新行。
所以我正在寻找的是某种监听器:一旦输入新记录 - 执行 java 代码。有些是insert
从应用程序执行的,有些不是。