2016-12-27 10 views
1

с классическим Java многопоточной исполнения, распараллеленные исполнение можно доказать легко (см: SO: Java Thread Example) по телефонуJava Spring Batch: как проверить, что выполнение выполнено параллельно?

this.getId() 

, что приводит к System.output.println():

[ID 9] 
[ID 10] 
[ID 8] 

Как могу ли я доказать, что параллельное выполнение действительно происходит в Java Spring Batch/Spring Boot?

+0

вы используете работу в весеннем пакете ? – Patrick

+0

Весенний пакет для загрузки для меня совершенно новый. Поэтому, если это помогает, я мог бы использовать задания – user2145488

ответ

0

очень общий путь будет:

Thread thread = Thread.currentThread(); 
    System.out.println(thread); 
1

Как описано в documentation, вы можете настроить jobs и steps.

Чтобы увидеть, какая работа или этап в настоящий момент запущен, вы дадите имя.

@Configuration 
@EnableBatchProcessing 
@EnableAutoConfiguration 
public class BatchConfiguration { 

    @Autowired 
    private JobBuilderFactory jobBuilderFactory; 

    @Autowired 
    private StepBuilderFactory stepBuilderFactory; 

    @Bean 
    public Step step1() { 
    return stepBuilderFactory.get("step1") 
     .tasklet(new Tasklet() { 
      public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) { 
      return null; 
      } 
     }) 
     .build(); 
    } 

    @Bean 
    public Job job(Step step1) throws Exception { 
    return jobBuilderFactory.get("job1") 
     .incrementer(new RunIdIncrementer()) 
     .start(step1) 
     .build(); 
    } 
} 

И JobExecution имеет много информации о вашей работе.

Вот некоторые полезные документы:

+0

Как я могу использовать JobExecution с одного шага? – user2145488