2015-05-29 5 views
0

Я хотел бы сгенерировать итоговый отчет в конце моего выполнения партии.Отчеты генерации весенней партии

Для примера: у меня есть ItemProcessor, который получает accountId.

for every accountId: get MarketplaceId's for every marketplaceId: call real time availability

В конце выполнения пакетного мне нужно обеспечить хороший обзор в файле, который показывает,

  • Количество счетов обработанных
  • Количество marketplaceIds для каждого accoutId
  • Количество торговых точекИндикалы, которые не смогли получить доступность в режиме реального времени
  • Время, затраченное на обработку одной учетной записи.

Вопрос

  1. Где я сохраняются те промежуточные результаты, то есть. различные количества на каждой итерации
  2. Как бы я получить эти отсчеты к следующему шагу, который только резюме файла автор

Было бы очень здорово, если вы предоставляете какие-либо направления.

Спасибо.

ответ

0

написать тасклет подготовить хороший Summery и положить, что тасклет, как последний шаг в работе

 <step id="summeryFile" > 
     <tasklet ref="summaryFilePreparationTasklet"/> 
    </step> 

и конфигурации Бин

<bean id="summaryFilePreparationTasklet" class="com.baji.batch.SummaryPreparationFile"> 

и файл Класс

package com.baji.batch; 

    import org.springframework.batch.core.StepContribution; 
    import org.springframework.batch.core.scope.context.ChunkContext; 
    import org.springframework.batch.core.step.tasklet.Tasklet; 
    import org.springframework.batch.repeat.RepeatStatus; 

    /** 
    * @Author 
    * Bhaji Shaik 
    * May 30, 2015 
    */ 
    public class SummaryPreparationFile implements Tasklet { 

     @Autowired 
private Holder holder; 
     @Override 
     public RepeatStatus execute(StepContribution arg0, ChunkContext chunkContext) throws Exception { 
        holder.getResults1();  
      //Write your own code to Prepare a neat summary preparation File 
      return null; 
     } 

    } 

Класс держателя:

import org.springframework.stereotype.Component; 

    @Component 
    public class Holder { 
     private List<Integer> results1; 
     private List<Integer> results2; 

     //Setter and getter methods 
    } 
+0

Я отредактировал свой qn, чтобы добавить информацию. Мой вопрос в том, как сохранить эти подсчеты, поскольку это то, что я получаю во время каждой итерации в itemprocessor. Пример: доступность в реальном времени для marketplaceId – kewlb

+0

Я обновил ответ. Класс Holder - это один тонный класс, который мы можем использовать в любой весенней фасоли. он сохраняет результаты до завершения задания. и настройте jobListener для сброса значений в компоненте-держателе перед началом работы с помощью @BeforeJob. –

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