代码之家  ›  专栏  ›  技术社区  ›  lisak

Spring-不同状态的调度和池运行(每个可运行实例具有不同的状态)

  •  0
  • lisak  · 技术社区  · 14 年前

    我不知道使用什么来调度和汇集不同状态的可运行文件(每个可运行的实例都有不同的状态)。我可以使用scheduledExecutorFactoryBean和methodInvokingUnnable来提供参数。但是,看看键scheduleExecutorFactoryBean方法,它的设计方式是所有任务都应该从一开始就开始。

        protected void registerTasks(ScheduledExecutorTask[] tasks, ScheduledExecutorService executor) {
            for (ScheduledExecutorTask task : tasks) {
                Runnable runnable = getRunnableToSchedule(task);
                if (task.isOneTimeTask()) {
                    executor.schedule(runnable, task.getDelay(), task.getTimeUnit());
                }
                else {
                    if (task.isFixedRate()) {
                        executor.scheduleAtFixedRate(runnable, task.getDelay(), task.getPeriod(), task.getTimeUnit());
                    }
                    else {
                        executor.scheduleWithFixedDelay(runnable, task.getDelay(), task.getPeriod(), task.getTimeUnit());
                    }
                }
            }
    }
    

    我想不出如何用ThreadPoolTaskScheduler设置这个场景。

    请帮帮我。谢谢你


    edit:shorted版本是:如何设置任务调度程序,以2秒的间隔运行数百个“不同的线程实例(状态不同)”。

    1 回复  |  直到 14 年前
        1
  •  0
  •   lisak    14 年前

    很简单,我不知道我在想什么,我没有看到它。—)


    我刚刚以编程方式用数千个任务填充了scheduledExecutorFactoryBean的数组scheduledExecutorTask[],每个任务都具有递增的延迟属性和不同的可运行性。然后我就用了豆子……真的用得上春季小伙的豆子……