在java中启动和停止调度任务
我开发了一个简单的Spring Boot应用程序,它使用REST并写入数据库。
我尝试了一个@Scheduled
注释来启动一个任务来定期运行它。 但调度过程自动启动,这不完全是我想要的。 我需要能够从网页开始和停止计划任务。 当用户打开一个页面时,他必须看到一个进程的状态:Running / Stoped。
实现它的简单方法是什么? 创建一个新的线程? 如何获得进程的状态? 保存在数据库?
也许smb有一个启动和停止从网页调度任务的例子吗?
尝试使用ScheduledExecutorService。 例如,首先创建一个ScheduledExecutorService
:
ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(System.getRuntime().availableProcessors());
然后创建一个计划任务:
ScheduledFuture<?> task = scheduledExecutorService.scheduleAtFixedRate(
() -> System.out.println("some task"), 0, 30, TimeUnit.SECONDS);
当你想取消任务时,请执行以下操作:
task.cancel(true);
链接地址: http://www.djcxy.com/p/50905.html
上一篇: Start and stop scheduling task in Spring java
下一篇: Reading a List from properties file and load with spring annotation @Value