小编Jos*_*osh的帖子

Spring批处理限制跨多个服务器的单个作业实例

我有一个 Spring Batch 作业可能会在多台服务器上运行。我有一个监听器,可以防止在一台服务器上同时运行多个作业实例。但是,我想确保此作业不能在多台服务器上同时运行。

我已经搜索并没有找到解决此问题的方法

java spring spring-batch spring-boot

5
推荐指数
1
解决办法
4535
查看次数

在 tasklet 中退出 Spring Batch Job

我有一个 Spring Batch tasklet,但我不知道如何失败。我想检查某些参数,如果它们不存在,则在该步骤中使作业失败。

@Component
public class Tfp211SetupTasklet extends AbstractSetupTasklet {

    final static Logger LOGGER = LoggerFactory.getLogger(Tfp211SetupTasklet.class);

    @Override
    protected RepeatStatus performTask(ExecutionContext ec, ChunkContext chunkContext) {
        //TODO
        //add error checking. If the parameter is not there, fail out or throw an error message.
        Map<String, String> params = new HashMap<>();
        List<String> requiredParams = new ArrayList<>();
        requiredParams.add("name");
        requiredParams.add("id");
        requiredParams.add("test");
        JobParameters jobParameters = chunkContext.getStepContext().getStepExecution().getJobParameters();
        params.put("name", jobParameters.getString("name"));
        params.put("id", jobParameters.getString("id"));
        params.put("test", jobParameters.getString("test"));
//        if (!params.values().containsAll(requiredParams)) {
//            LOGGER.info("not all required parameters exist for the job execution …
Run Code Online (Sandbox Code Playgroud)

java spring-batch

2
推荐指数
1
解决办法
2270
查看次数

标签 统计

java ×2

spring-batch ×2

spring ×1

spring-boot ×1