2015-12-24 2 views
0

Я пытаюсь запустить приложение, получая ошибку. Я использую весеннюю партию пассирование для запуска нескольких потоков job.Here я получаю исключение, это имя шага, вызвавшее создание бина; Вложенное исключение - это java.lang.IllegalStateException: класс bean не указан в определении bean-компонента. , пожалуйста, предложите мне любой.Исключение из потока «main» org.spring .... beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем «FirstStep»: Ошибка создания бина

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'Step': Instantiation of bean failed; nested exception is java.lang.IllegalStateException: No bean class specified on bean definition 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1071) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1016) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:300) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:296) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:660) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
    at john.deere.com.PartApp.runTest(PartApp.java:18) 
    at john.deere.com.PartApp.main(PartApp.java:13) 
Caused by: java.lang.IllegalStateException: No bean class specified on bean definition 
    at org.springframework.beans.factory.support.AbstractBeanDefinition.getBeanClass(AbstractBeanDefinition.java:354) 
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:66) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1064) 
    ... 14 more 

в моем файле конфигурации

<?xml version="1.0" encoding="UTF-8"?> 
    <beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:batch="http://www.springframework.org/schema/batch" 
     xmlns:util="http://www.springframework.org/schema/util" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
      http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd 
      http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.2.xsd 
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> 

      <context:component-scan base-package="john.deere.com" /> 
      <import resource="applicationContext.xml"/> 
      <import resource="ApplicationDB.xml"/> 

     <job id="partitionJob" xmlns="http://www.springframework.org/schema/batch"> 

     <!-- master step, 10 threads (grid-size) --> 
     <step id="Step"> 
     <partition step="slave" partitioner="rangePart"> 
      <handler grid-size="10" task-executor="taskExecutor" /> 
     </partition> 
     </step> 

<step id="slave" xmlns="http://www.springframework.org/schema/batch"> 
      <tasklet> 
       <chunk reader="itemReader" processor="itemProcessor" writer="itemWriter" commit-interval="1" /> 
      </tasklet> 
     </step> 
     </job> 



     <bean id="rangePart" class="john.deere.com.PartitionerEx" /> 

     <bean id="taskExecutor" class="org.springframework.core.task.SimpleAsyncTaskExecutor" /> 

     <bean id="itemProcessor" class="john.deere.com.EmpProcessor" 
      scope="step"> 
      <property name="threadName" value="#{stepExecutionContext[name]}" /> 
     </bean> 

     <!-- csv file writer --> 
     <bean id="itemWriter" class="org.springframework.batch.item.file.FlatFileItemWriter" 
      scope="step" > 
      <property name="resource" 
       value="file:csv/outputs/employee.processed#{stepExecutionContext[fromId]}-#{stepExecutionContext[toId]}.csv" /> 
      <!-- <property name="appendAllowed" value="false" /> --> 
      <property name="lineAggregator"> 
       <bean 
        class="org.springframework.batch.item.file.transform.DelimitedLineAggregator"> 
        <property name="delimiter" value="," /> 
        <property name="fieldExtractor"> 
         <bean 
          class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor"> 
          <property name="names" value="id, name, age, salarey, address" /> 
         </bean> 
        </property> 
       </bean> 
      </property> 
     </bean> 

     <bean id="itemReader" 
     class="org.springframework.batch.item.database.JdbcPagingItemReader" 
     scope="step"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="queryProvider"> 
      <bean 
      class="org.springframework.batch.item.database.support.SqlPagingQueryProviderFactoryBean"> 
      <property name="dataSource" ref="dataSource" /> 
      <property name="selectClause" value="select id, name, age, salary, address" /> 
      <property name="fromClause" value="from employee" /> 
      <property name="whereClause"> 
      <value> 
      <![CDATA[ 
      where id >= :fromId and id <= :toId 
      ]]> 
      </value> 
      </property> 
      <property name="sortKey" value="id" /> 
      </bean> 
     </property> 
     <!-- Inject via the ExecutionContext in rangePartitioner --> 
     <property name="parameterValues"> 
      <map> 
      <entry key="fromId" value="#{stepExecutionContext[fromId]}" /> 
      <entry key="toId" value="#{stepExecutionContext[toId]}" /> 
      </map> 
     </property> 
     <property name="pageSize" value="10" /> 
     <property name="rowMapper"> 
      <bean class="john.deere.com.EmpRowMapper" /> 
     </property> 
     </bean> 

    </beans> 

ответ

0

Вступил раб определяется вне работы тега. Это не выглядит правильно

....

</step> 
</job> 
    <step id="slave" xmlns="http://www.springframework.org/schema/batch"> 
    <tasklet> 

....

+0

если я писал в job.am получать те же проблемы –

+0

насчет всех бобов, которые вы положить все бобы внутри тега задания или снаружи? –

+0

Я сохраняю все бобы внутри работы tag.am, получая такую ​​же проблему .. –

Смежные вопросы