java batchjob_java – Spring Batch的JobParameters

我试图将作业参数注入自定义ItemReader.我已经回顾了有关该主题的所有StackOverflow说明(例如:

How to get access to job parameters from ItemReader, in Spring Batch?),我发现这是一个常见的难点,大部分都没有解决.我希望春天的大师(@Michael Minella任何人)会看到这一点,并有一些见解.

即使没有代码或配置更改,我已经确定了大约十分之一的运行参数可用.这是随机成功而非随机失败的情况,因此很难追查.

我使用调试器挖掘了spring代码,并确定当失败时,在注入发生时没有在Spring中注册名为jobParameters的bean.

我使用Spring 4.1.4和spring-batch 3.0.2以及spring-data-jpa 1.7.1和spring-data-commons 1.9.1,在java 8中运行.

Java类

@Component("sourceSelectionReader")

@Scope("step")

public class SourceSelectionReaderImpl

implements ItemReader {

private Map jobParameters;

// ... snip ...

@Autowired

@Lazy

@Qualifier(value="#{jobParameters}")

public void setJobParameters(Map jobParameters) {

this.jobParameters = jobParameters;

}

}

工作启动参数:

launch-context.xml job1 jobid(long)=1

launch-context.xml(减去绒毛):

data-source="myDataSource"

transaction-manager="transactionManager"

isolation-level-for-create="DEFAULT"

max-varchar-length="1000"/>

Module-context.xml(减去绒毛):

Example job to get you started. It provides a skeleton for a typical batch application.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值