2016-12-27 16 views
0

IBMのJRE 1.7でバネ一括ジョブを実行中にエラーが発生しました。バッチバッチ3、IBM JVM(BackToBackPatternClassifier)のコンフィグレーションロード時にエラーが発生しました

春のバッチバージョンは3.0.7で、春のバージョンは4.3.5

は、このエラーはOracleのJDK 1.7で起きていないです。 ジョブが開始される前にSpring Batch XML Configuration、jobs-configuration.xmlをロードすると表示されます。 org.springframework.batch.classify.BackToBackPatternClassifier春バッチから(春再試行に)org.springframework.classify.BackToBackPatternClassifierなった

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'classifierCcsb01Writer' defined in class path resource [com/bob/batch/spring/configuration/jobs-configuration.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are: 
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'routerDelegate' threw exception; nested exception is java.lang.IllegalStateException: More than one non-void public method detected with single argument. 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1523) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1231) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) 
    ... 26 more 
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are: 
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'routerDelegate' threw exception; nested exception is java.lang.IllegalStateException: More than one non-void public method detected with single argument. 
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:121) 
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1519) 

ジョブ-configuration.xmlの: この問題は、私は春のバッチと春をアップグレードした後に現れました。

<bean id="ItemWriter" 
     class="org.springframework.batch.item.support.ClassifierCompositeItemWriter"> 
     <property name="classifier" ref="classifierCcsb01Writer" /> 
    </bean> 

    <bean id="classifierCcsb01Writer" 
     class="org.springframework.classify.BackToBackPatternClassifier"> 
     <property name="routerDelegate"> 
      <bean 
       class="com.bob.batch.spring.writers.ClassifierCcsb01Writer" /> 
     </property> 
     <property name="matcherMap"> 
      <map> 
       <entry key="create" value-ref="ccsb01Writer" /> 
       <entry key="ko" value-ref="ccsb01ErrorWriter" /> 
      </map> 
     </property> 
    </bean> 

そしてClassifierCcsb01Writer:

package com.bob.batch.spring.writers; 

import org.springframework.batch.support.annotation.Classifier; 

import com.bob.batch.spring.bean.RoutingBean; 

public class ClassifierCcsb01Writer { 

    @Classifier 
    public String classify(RoutingBean routingBean) { 
     return routingBean.getType(); 
    } 

} 

答えて

1

それはちょうどパッケージのインポートエラーです... 012

    org.springframework.classify.annotation.Classifier

代わりに前者(SpringBatch V2)

  • org.springframework:SpringBatch V3、分類のでパッケージからインポートされなければなりません。 batch.support.annotation.Classifier

パッケージインポートの訂正後、everythin gは正常に動作しています!

よろしく、 ビッグ。

関連する問題