当前位置: 首页 > 知识库问答 >
问题:

我有多个工作,并选择我想在Spring运行的哪一个

邓俊材
2023-03-14
@Bean
    Job procesaClientesJob(JobBuilderFactory jobBuilderFactory,
                           @Qualifier("flowCargaIdsClientes") Flow flowCargaIdsClientes,
                           @Qualifier("flowCargaDatosClientes") Flow flowCargaDatosClientes,
                           @Qualifier("flowCargaParcialIdsClientes") Flow flowCargaParcialIdsClientes,
                           @Qualifier("flowCargaParcialDatosClientes") Flow flowCargaParcialDatosClientes
                           ) {
        return jobBuilderFactory.get("procesaClientesJob")
                .incrementer(new RunIdIncrementer())
                .start(flowCargaIdsClientes).next(flowCargaDatosClientes).end()
                .build();
    }


    @Bean
    Job procesaParcialClientesJob(JobBuilderFactory jobBuilderFactory,
                           @Qualifier("flowCargaParcialIdsClientes") Flow flowCargaParcialIdsClientes,
                           @Qualifier("flowCargaParcialDatosClientes") Flow flowCargaParcialDatosClientes
                           ) {
        return jobBuilderFactory.get("procesaClientesJob")
                                .incrementer(new RunIdIncrementer())
                                .start(flowCargaParcialIdsClientes).next(flowCargaParcialDatosClientes).end()
                                .build();
    }
@RestController
public class JobInvokerController {
    private static final Logger log = Logger.getLogger(JobInvokerController.class);

    @Autowired
    JobLauncher jobLauncher;

    @Autowired
    Job processJob;

    @GetMapping("/invokejob/{strFecha}")
    public String invokejob(@PathVariable String strFecha) throws Exception {
        Date fecha;
        if (log.isDebugEnabled()) {
            log.debug("Procesamos el parámetro de entrada " + strFecha);
        }

        try {
            if (!StringUtils.isEmpty(strFecha)) {
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
                fecha = sdf.parse(strFecha);
            } else {
                fecha = new Date();
            }
        } catch (Exception e) {
            fecha = new Date();
        }

        if (log.isDebugEnabled()) {
            log.debug("Invocamos al batch con la fecha: " + fecha);
        }

        JobParameters jobParameters = new JobParametersBuilder().addLong("time",System.currentTimeMillis()).addDate("fecha", fecha).toJobParameters();
        jobLauncher.run(processJob, jobParameters);

        return "Batch job has been invoked";
    }

}

而且我还有一个SpringBatchApplication.java:

@SpringBootApplication
public class SpringBatchApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBatchApplication.class, args);
    }
}

我怎样才能同时有两个工作,并选择我想要运行的?

暂时还没有答案

 类似资料:
  • 问题内容: 目前,我们正在评估BPM引擎,我非常感谢社区的投入。我正在做我自己的尽职调查,但也想听听基于实施案例的建议。 我的主要评估标准如下 开源和OEM友好许可证 生产装置(成功的故事很有帮助) 提供商业支持 开放标准支持-BPMN 根据输入动态创建/组装工作流程 可嵌入的 目前,我正在评估Activiti和JBPM。Bonita开放式BPM似乎也不错,但从未使用过。你们在Bonita上有任何

  • 然后再次运行,但它也转到GPU0。 我看了相关的问题,如何选择指定的GPU来运行CUDA程序?但是命令不在CUDA 8.0 bin目录中。除了之外,我还看到其他文章引用了环境变量但这些都没有设置,我也没有找到关于如何使用它的信息。 虽然与我的问题没有直接关系,但使用我能够使应用程序在GPU1上运行,但使用不能在GPU0和1上运行。 我正在一个使用bash shell运行的系统上测试这一点,该系统在

  • 我用<code>列表视图</code>创建了一个活动。这是一个朋友。 我想让它选择将其添加到另一个。 我不知道选择哪个<code>视图</code>最好<代码>循环视图或

  • 我使用的是一个具有多个属性的select元素。这只适用于Firefox和Chrome,但不适用于IE9/IE10或IE11。有什么建议让它也适用于IE浏览器吗?看起来IE不接受字符=>

  • 我有30张单独的工作表,需要合并成一张有多个选项卡的工作表。我可以使用下面的脚本来完成这项工作,但每次都会创建一个新的工作表。当30张单独的工作表中的一张或全部更新时,我只希望这个脚本更新或重写以前创建的“主工作表”。 我正在寻找一个表,其中包含从每个地区的标签。这将允许我与单独更新的所有信息共享一个主控表。