[英]Database Poller Java EE/Spring/Hibernate
我在Spring Framework和Hibernate中使用Java EE。 我想编写一个执行以下操作的非常简单的数据库轮询器
我已经研究过Java的ScheduledExecutorService和ExecutorService ,并且我认为我可以用这些做我想做的事情。 我的问题是, Spring / Hibernate中是否内置了某些功能,可以更优雅地完成此操作?
一种替代方法是像这样使用TaskScheduler:
1)使用TaskScheduler创建一个bean
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(50);
threadPoolTaskScheduler.setThreadNamePrefix("Scheduler-Pool-");
return threadPoolTaskScheduler;
}
2)使用CRON标记创建计划的作业
ScheduledFuture<?> scheduledFuture = taskScheduler.schedule(() -> aRunnable, new CronTrigger("0 0/5 * * * ?")); // per five seconds
3)当满足条件或数据库轮询超时时,请禁用任务
scheduledFuture.cancel(false);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.