我正在尝试使用ClassifierCompositeItemWriter
,那时我收到以下错误。
Property' routerDelegate'抛出异常;嵌套异常是 java.lang.IllegalStateException:多个非void公共方法 用单个参数检测
我的分类器是:
public class ItemNameNodeClassifier implements Classifier<Master, String> {
@Override
public String classify(Master classifiable) {
return classifiable.getName();
}
}
配置为:
<bean id="itemWriter" class="org.springframework.batch.item.support.ClassifierCompositeItemWriter">
<property name="classifier" ref="nameIndicatorClassifier" />
</bean>
<bean id="nameIndicatorClassifier" class="org.springframework.classify.BackToBackPatternClassifier">
<property name="routerDelegate">
<bean class="com.batch.ItemNameNodeClassifier"/>
</property>
<property name="matcherMap">
<map>
<entry key="S" value-ref="itemWriter1" />
<entry key="N" value-ref="itemWriter2" />
</map>
</property>
</bean>
对此有任何帮助表示赞赏。
此致 香卡
答案 0 :(得分:2)
我使用了@Classifier注释而不是Classifier接口,它正在运行。
public class ItemNameNodeClassifier {
@Classifier
public String classify(Master classifiable) {
return classifiable.getName();
}
}