无法使用作业范围自动装配Bean

时间:2015-01-21 16:36:58

标签: java spring spring-batch autowired

我正在尝试设置一个弹簧批处理项目。为了在步骤之间共享大量数据,我需要一个带有作业范围的bean持有者。但是当我使用JOB注释或配置时,我总是得到以下异常:

引起:java.lang.IllegalArgumentException:无法将com.cache.BatchRecordsCache字段com.processors.FileProcessor.batchRecordsCache设置为com.sun.proxy。$ Proxy9

BatchRecordsCache是​​我的缓存bean,它已自动连接到FileProcessor。

任何帮助都是适用的。

1 个答案:

答案 0 :(得分:2)

正如我在答案中提到的那样:Spring Batch - "job" scoped beans can not be injected into "job" or "step" scoped beans,您正在使用界面代理,但您的BatchRecordsCache类并未实现FileProcessor编码的接口。实现接口或切换以使用动态子类化。