Я использую StepBuilder для построения своих шагов. Теперь я хочу реализовать асинхронные процессоры с помощью документации
Все работает нормально, я просто хочу повысить производительность с помощью AsyncItemProcessor и AsyncItemWriter
Но StepBuilder не принимает AsyncItemProcessor и AsyncItemWriter в качестве параметра в процессе (asyncItemProcessor) и Writer(asyncItemWriter)
Вот фрагмент кода конфигурации и то, что я получаю в виде ошибок в комментариях:
Код: Выделить всё
@Bean
public MyItemWriter myItemWriter() {
return new MyItemWriter();
}
@Bean
public AsyncItemWriter asyncItemWriter(MyItemWriter myItemWriter) {
AsyncItemWriter asyncItemWriter = new AsyncItemWriter();
asyncItemWriter.setDelegate(myItemWriter);
return asyncItemWriter;
}
@Bean
public MyItemProcessor myItemProcessor() {
return new MyItemProcessor();
}
@Bean
public AsyncItemProcessor asyncMyItemProcessor(MyItemProcessor myItemProcessor) throws Exception {
AsyncItemProcessor processor = new AsyncItemProcessor();
processor.setDelegate(myItemProcessor);
processor.setTaskExecutor(new SimpleAsyncTaskExecutor());
return processor;
}
@Bean
public Step archiveMiniDevisStep(JobRepository jobRepository,
PlatformTransactionManager transactionManager,
AsyncItemProcessor asyncMyItemProcessor,
AsyncItemWriter asyncItemWriter
) {
return new StepBuilder("MY_AWESOME_STEP", jobRepository)
.chunk(chunkSize, transactionManager)
.reader(myReader())
.processor((ItemProcessor
Подробнее здесь: [url]https://stackoverflow.com/questions/79328534/how-to-configure-asynchronous-processors-with-stepbuilder-in-spring-batch-v5-2[/url]
Мобильная версия