Java 春天是怎样的';什么是任务调度器工作?

Java 春天是怎样的';什么是任务调度器工作?,java,spring,Java,Spring,我正在尝试实现为以后安排任务的功能。我希望这样的行为是,当我计划一个任务时,如果没有空闲线程,它会将其放入队列中。我似乎不是这样 我有一个实现Runnable的JavaBean,我计划任务在下午5点运行,但是如果我计划另一个任务在下午5点运行,它不会运行,只有第一个任务会运行。有没有办法让这些任务排队并在下午5点一个接一个地运行 谢谢 以下是我的threadPoolTaskScheduler的设置方式: <bean id="threadPoolTaskScheduler" class="o

我正在尝试实现为以后安排任务的功能。我希望这样的行为是,当我计划一个任务时,如果没有空闲线程,它会将其放入队列中。我似乎不是这样

我有一个实现Runnable的JavaBean,我计划任务在下午5点运行,但是如果我计划另一个任务在下午5点运行,它不会运行,只有第一个任务会运行。有没有办法让这些任务排队并在下午5点一个接一个地运行

谢谢

以下是我的threadPoolTaskScheduler的设置方式:

<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.
        }
    }