属性 'routerDelegate' 抛出异常;背靠背模式分类器
Property 'routerDelegate' threw exception; BackToBackPatternClassifier
我正在尝试使用 ClassifierCompositeItemWriter
,当时我收到以下错误。
Property 'routerDelegate' threw exception; nested exception is
java.lang.IllegalStateException: More than one non-void public method
detected with single argument
我的分类器是:
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>
感谢任何帮助。
此致,
香卡
我使用了@Classifier 注释而不是 Classifier 接口并且它工作正常。
public class ItemNameNodeClassifier {
@Classifier
public String classify(Master classifiable) {
return classifiable.getName();
}
}
我正在尝试使用 ClassifierCompositeItemWriter
,当时我收到以下错误。
Property 'routerDelegate' threw exception; nested exception is java.lang.IllegalStateException: More than one non-void public method detected with single argument
我的分类器是:
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>
感谢任何帮助。
此致, 香卡
我使用了@Classifier 注释而不是 Classifier 接口并且它工作正常。
public class ItemNameNodeClassifier {
@Classifier
public String classify(Master classifiable) {
return classifiable.getName();
}
}