属性'routerDelegate'抛出异常; BackToBackPatternClassifier

时间:2015-04-10 09:48:45

标签: spring-batch filewriter

我正在尝试使用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>

对此有任何帮助表示赞赏。

此致 香卡

1 个答案:

答案 0 :(得分:2)

我使用了@Classifier注释而不是Classifier接口,它正在运行。

public class ItemNameNodeClassifier {

    @Classifier
    public String classify(Master classifiable) {

        return classifiable.getName();
    }

}