我正在尝试设置一个弹簧批处理项目。为了在步骤之间共享大量数据,我需要一个带有作业范围的bean持有者。但是当我使用JOB注释或配置时,我总是得到以下异常:
引起:java.lang.IllegalArgumentException:无法将com.cache.BatchRecordsCache字段com.processors.FileProcessor.batchRecordsCache设置为com.sun.proxy。$ Proxy9
BatchRecordsCache是我的缓存bean,它已自动连接到FileProcessor。
任何帮助都是适用的。
答案 0 :(得分:2)
正如我在答案中提到的那样:Spring Batch - "job" scoped beans can not be injected into "job" or "step" scoped beans,您正在使用界面代理,但您的BatchRecordsCache
类并未实现FileProcessor
编码的接口。实现接口或切换以使用动态子类化。