我有一个Spring批处理应用程序,它使用分区来运行一些线程。问题是,如果到达一定时间,我需要停止线程。
我不知道该怎么做。我有一个分区步骤
@Bean
public Step partitionerStep() {
return stepBuilderFactory.get("PARTITIONER_STEP")
.partitioner("SLAVE_STEP", partitioner())
.step(stepConcederPerfilNormal())
.taskExecutor(taskExecutor())
.build();
}
首先,我认为我可以使用ThreadPoolTaskExecutor停止线程,但按我的想法无法正常工作
@Bean
public TaskExecutor taskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setMaxPoolSize(200);
executor.setCorePoolSize(50);
executor.setAllowCoreThreadTimeOut(true);
return executor;
}
只是为了解决它。如果线程运行了1H30M,我需要停止线程
问题来源:Stack Overflow
Spring Batch不会创建或管理线程,而是将其委托给TaskExecutor。
如果线程运行了1H30M,我需要停止线程
以下内容可能会有所帮助:在特定时间后停止线程
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。