相关疑难解决方法(0)

如何从Spring Batch中的ItemReader访问作业参数?

这是我的一部分job.xml:

<job id="foo" job-repository="job-repository">
  <step id="bar">
    <tasklet transaction-manager="transaction-manager">
      <chunk commit-interval="1"
        reader="foo-reader" writer="foo-writer"
      />
    </tasklet>
  </step>
</job>
Run Code Online (Sandbox Code Playgroud)

这是项目读者:

import org.springframework.batch.item.ItemReader;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component("foo-reader")
public final class MyReader implements ItemReader<MyData> {
  @Override
  public MyData read() throws Exception {
    //...
  }
  @Value("#{jobParameters['fileName']}")
  public void setFileName(final String name) {
    //...
  }
}
Run Code Online (Sandbox Code Playgroud)

这就是Spring Batch在运行时所说的:

Field or property 'jobParameters' cannot be found on object of 
type 'org.springframework.beans.factory.config.BeanExpressionContext'
Run Code Online (Sandbox Code Playgroud)

这有什么不对?在哪里可以阅读Spring 3.0中有关这些机制的更多信息?

java spring spring-batch

67
推荐指数
5
解决办法
10万
查看次数

标签 统计

java ×1

spring ×1

spring-batch ×1