Spring JPA Многопоточность - PullRequest
       18

Spring JPA Многопоточность

0 голосов
/ 28 октября 2019

Я связан с базой данных MySQL, пытаюсь получить данные с помощью JPA в функции findBy, но я застрял с функцией Async. Я просто пытаюсь установить 10 исполнителей. Я устанавливаю исполнителей задач со всеми настройками, но это не работает. .

Класс TestRepository

public interface TestRepository extends CrudRepository<Test, Long> {

    List<Test> findByLastName(String lastName);

    Test findById(long id);
}

Класс AsyncConfiguration

@Configuration
@EnableAsync
public class AsyncConfiguration {
    private static final Logger LOGGER = LoggerFactory.getLogger(AsyncConfiguration.class);
    @Bean (name = "taskExecutor")
    public Executor taskExecutor() {
        LOGGER.debug("Creating Async Task Executor");
        final ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(2);
        executor.setMaxPoolSize(2);
        executor.setQueueCapacity(1000);
        executor.setThreadNamePrefix("CarThread-");
        executor.initialize();
        return executor;
    }
}

Класс AccessingDataJpaApplication

@SpringBootApplication
public class AccessingDataJpaApplication {

    private static final Logger log = LoggerFactory.getLogger(AccessingDataJpaApplication.class);

    public static void main(String[] args) {
        SpringApplication.run(AccessingDataJpaApplication.class);
    }

    @Bean
    @Async
    public CommandLineRunner demo(TestRepository repository) {
        return (args) -> {

            log.info("--------------------------------------------");
            repository.findByLastName("FL").forEach(on -> {
                log.info(on.toString());
            });
        };

        }
}
...