我目前正在使用AsyncItemWriter将处理后的学生详细信息输入写入我的数据库表中。我最近要求根据标准写入几个数据库表(如果学生在最后一年,也可以在单独的表中写入额外的数据)。
目前我定义了两个单独工作的 AsyncItemWriter Bean。尝试使用CompositeItemWriter,它实际上可以工作并使用两个委托写入适当的表。现在,只有在满足上述条件时,我才想致电第二位作家。
我尝试使用ClassifierCompositeItemWriter和我的Student类的自定义Classifier实现,当满足去年学生的条件时,它应该返回CompositeItemWriter ,否则调用单个AsyncItemWriter来存储学生数据。不幸的是,当调用ClassifierCompositeItemWriter的方法时,写入列表中的项目属于FutureTask类型,并且在调用时写入器失败并出现ClassCastException,因为它无法将FutureTask转换为我的Student模型。write()
classify()
不幸的是,我目前手头没有代码,但尝试尽可能彻底。