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

作业结束后未找到Spring-batch+集成DSL抛出调度程序异常

方建明
2023-03-14

参考以下链接,我实现了Spring批处理+Spring集成与DSL的组合

https://github.com/cppwfs/spring-batch/blob/1f7cada52aba95bcb23d06bc034b21fe1de0a7a5/spring-batch-docs/asciidoc/spring-batch-integration.adoc#通过消息启动batch-jobs

这是密码。

@Bean
public IntegrationFlow integrationFlowUi(JobLaunchingGateway jobLaunchingGateway) {
    return IntegrationFlows.from(Files.inboundAdapter(new File(incomingDirUi)).
                    filter(new SimplePatternFileListFilter("*.csv")).
                    filter(new AcceptOnceFileListFilter<>()),
            c -> c.poller(Pollers.fixedRate(500).maxMessagesPerPoll(1))).
            channel("bridgeChannel").
            handle(fileMessageToJobRequest()).
            handle(jobLaunchingGateway).
            log(LoggingHandler.Level.WARN, "headers.id + ': ' + payload").
            get();
}

批处理配置为

@Bean
public Job fundingCardActivationJob() {
    return jobBuilderFactory.get("fundingCardActivationJob")
            .incrementer(new RunIdIncrementer())
            .flow(activationStep())
            .next(fileRenamingStep())
            .end()
            .build();
}

作业运行。但在结束时会抛出以下异常。

2017-12-15 12:39:54.867  WARN 13723 --- [ask-scheduler-1] headers.id + ': ' + payload              : GenericMessage [payload=JobExecution: id=572, version=2, startTime=Fri Dec 15 12:39:52 PST 2017, endTime=Fri Dec 15 12:39:54 PST 2017, lastUpdated=Fri Dec 15 12:39:54 PST 2017, status=COMPLETED, exitStatus=exitCode=COMPLETED;exitDescription=, job=[JobInstance: id=348, version=0, Job=[fundingCardActivationJob]], jobParameters=[{input.file.name=/Users/sudhir/ui/fundactive_2748_4444444444444444_2017-11-17_12-12-20.018.csv}], headers={id=4dcafdd0-aaed-ff62-bed9-781db41dfdf2, timestamp=1513370394863}]

共有1个答案

艾泽语
2023-03-14

jobexecution结果发送到.log()之前,某个东西正在关闭(或停止)应用程序上下文。

 类似资料:
  • 我们使用ws-outbound-gateway以下面的方式调用webservice。 如果请求xml采用以下方式,则工作正常。 如果我在请求xml中添加SOAP-ENV:Envelope xmlns:SOAP-ENV = " http://schemas . xmlsoap . org/SOAP/Envelope/"和SOAP-ENV:Body,它将抛出如下错误: org.springframew

  • 我有两个要求。 每周一触发作业 对于第一个要求,我尝试了和。他们俩都不工作。该函数未被调用。 对于第二个要求,我尝试了和。我得到下面的错误。 原因:java。lang.IllegalStateException:遇到无效的@Scheduled方法“monthlyData”:用于输入字符串:“2#1”。

  • 我试图使用Spring batch Java配置和Quartz作为调度程序来编写一个批处理作业。 我可以探索的所有示例都通过扩展QuartzJobBean创建了自己的作业类,但我希望上面配置的作业被调度运行。 如何对调度程序功能进行单元测试。

  • 好的,我添加了我的Spring xml配置以对我的情况进行更多解释。 首先,我聚合了7个通道;其次,聚合器释放声明为发布通道的聚合通道。第三,每7个订阅频道选择室内数据库制作每条消息。第四,每个通道使用jdbc出站通道适配器将数据插入外部数据库。 下面我附上了每个与xml配置相关的。。谢谢 但问题是,我必须在7个插入作业成功完成后立即触发一些事件。如何获得7个插入事务完成的点,以触发某些post事

  • 我无法解决这个问题,现在已经坚持了很长时间。我是一个spring-integration-dsl的初学者,任何帮助都将非常感谢。

  • 我使用Web服务方法启动spring batch Job,如果spring batch过程中出现任何异常,控制将返回到processor process方法。但是我需要控制器返回到Web服务方法,在那里我必须捕捉并编写代码以电子邮件发送异常。