我有一个春季批量@Job定义.但是在运行它时(在tomcat中),由于com.sun.proxy,我得到了一个ClassCastException.$Proxy.
为什么会出现这种情况?以下摘录可能有什么问题?
@Service
public class JobService {
@Autowired
private JobLauncher launcher;
public void run() {
Job job = jobRegistry.getJob("jobname");
launcher.run(job,params); //line 59
}
}
@Configuration
@EnableBatchProcessing(modular = true)
public class JobConfig {
@Bean
@JobScope
public MultiResourceItemReader
结果:
java.lang.ClassCastException: com.sun.proxy.$Proxy135 cannot be cast to org.springframework.batch.item.file.MultiResourceItemReader
at org.springframework.batch.item.file.MultiResourceItemReader$$FastClassBySpringCGLIB$$ad846cb.invoke(
最佳答案
如果您不需要读者的具体类型,则返回ItemReader< T>来自reader()函数.
@JobScope默认使用CGLIB代理代理目标类.
原文链接:https://www.f2er.com/spring/431522.html@JobScope默认使用CGLIB代理代理目标类.