我有一个需要每5秒轮询一次表的要求。如果有一个带有特定状态标志的新条目,那么我将不得不对其进行处理并使用JasperReports创建一个报告,一旦完成该过程,就必须按照完成的状态来更新状态。
我们需要实现多线程,如果一个线程轮询并找到一条新记录,它将开始处理它并生成报告。
如果此处理过程花费5秒钟以上,则只有另一个线程可以轮询该表并选择是否存在记录。如果第一个线程忙于处理5秒钟以上,则第二个线程跳入,如果第二个线程忙于5秒以上,则第3个线程可以加入,因此我们也需要线程池。但是两个线程可以在5秒的时间差内轮询表。
总体而言,该表应仅在5秒内被轮询一次。