我正在使用spring调度程序任务在固定间隔后调用类中的方法,如下所示
<task:scheduled-tasks scheduler="scheduler">
<task:scheduled ref="processScheduledJobs" method="init" fixed-delay=5000/>
一旦调度器触发 init 方法。init 方法将使用线程池执行器来执行队列中的所有作业。
<bean id="processScheduledJobs" class="XXXX.VV.ProcessScheduledJobs">
<property name="pool" ref="jobExecutorService"" />
</bean>
<bean id="scheduler" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="threadFactory">
<bean class="XXX..VVV.NamingThreadFactory">
<constructor-arg value="thread" />
</bean>
</property>
<property name="corePoolSize" value="16" />
<property name="maxPoolSize" value="64" />
<property name="keepAliveSeconds" value="4" />
<property name="queueCapacity" value="512" />
</bean>
问题:执行 init 方法的初始线程是否等到 init 方法中的所有处理(由执行器服务通过产生新线程完成)完成?
调度程序任务的池大小属性是否仅用于触发任务而不用于执行或处理触发任务内部的逻辑。