Java 春天是怎样的';什么是任务调度器工作?
我正在尝试实现为以后安排任务的功能。我希望这样的行为是,当我计划一个任务时,如果没有空闲线程,它会将其放入队列中。我似乎不是这样 我有一个实现Runnable的JavaBean,我计划任务在下午5点运行,但是如果我计划另一个任务在下午5点运行,它不会运行,只有第一个任务会运行。有没有办法让这些任务排队并在下午5点一个接一个地运行 谢谢 以下是我的threadPoolTaskScheduler的设置方式:Java 春天是怎样的';什么是任务调度器工作?,java,spring,Java,Spring,我正在尝试实现为以后安排任务的功能。我希望这样的行为是,当我计划一个任务时,如果没有空闲线程,它会将其放入队列中。我似乎不是这样 我有一个实现Runnable的JavaBean,我计划任务在下午5点运行,但是如果我计划另一个任务在下午5点运行,它不会运行,只有第一个任务会运行。有没有办法让这些任务排队并在下午5点一个接一个地运行 谢谢 以下是我的threadPoolTaskScheduler的设置方式: <bean id="threadPoolTaskScheduler" class="o
<bean id="threadPoolTaskScheduler" class="org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler">
<property name="poolSize" value="5" />
</bean>
}为什么不制定一个在下午5点同时执行的总体任务?我可能应该说,有几个任务可能会在下午5点安排。我想我可以创建一个单独的线程,其中包含一个可运行的队列,并在下午5点运行每个线程,但我希望这会更简单。请向我们展示您的代码和相关配置。任务的执行方式取决于配置的
TaskExecutor
调度和执行是两件不同的事情,第一个是通过任务调度器
完成的,第二个是通过任务执行器
完成的。要确定在您的情况下会发生什么,我们需要查看一些代码/配置。我相信任务执行器
有队列,但任务调度器
有队列吗?
public class MySchedulerForTask {
@Autowired
private ThreadPoolTaskScheduler threadPoolTaskScheduler
public void runTask() {
threadPoolTaskScheduler.schedule(new MyTask(), atFive())
}
private Date atFive() {
Calendar cal = Calendar.getInstance();
cal.set(HOUR_OF_DAY, 17);
cal.set(MINUTE, 0);
cal.set(SECOND, 0);
return cal.getTime();
}
public class MyTask implements Runnable {
public void run() {
//Calls my DAO to update stuff.
}
}