如何在父作业中为所有子作业设置调度程序?

时间:2015-04-08 11:44:12

标签: spring scheduled-tasks threadpool spring-batch

情况如下。我想拥有一个具有一些常见属性的父作业,一个ExecutionListener和一个Scheduler。可能有很多子工作从我的父工作延伸出来。现在,父级的调度程序需要读取所有子jobIds,从DB中获取相应的cron表达式并执行/调度作业。类似的东西:

                   <job id="job1">
                      <step id="step1">
                         <tasklet><bean id="some bean"/></tasklet>
                      </step>
                   </job>

                   <bean id="myjob1" parent="parentJob">
                        <property name="job" value="job1"/>
                        <property name="jobId" value=123/>
                    </bean>

同样,可能有更多的工作延伸“parentJob”。现在在“parentJob”,我正在尝试做以下事情:

                 scheduler = new ThreadPoolTaskScheduler();  
                 scheduler.setPoolSize(5);
                 scheduler.schedule(new TriggerTask(), new Cron(some expr)

眼前的挑战是,孩子的工作正在迷失。最多一个孩子的工作岗位最多被捡起而不是其他孩子。注意:新的TriggerTask()是一个实现'Runnable'的内部类。

不知怎的,我认为我搞错了线程。 有人可以协助或提供一些如何实现这一目标的指示吗?

由于

0 个答案:

没有答案