首页 > 解决方案 > 尝试异步引导 Hibernate 时出现 Spring Boot 2.1.0 错误

问题描述

我正在将我的应用程序升级到 Spring 2.1.0,我尝试使用的新东西之一是 Hibernate 异步引导。

但是当我在spring.data.jpa.repositories.bootstrap-mode=deferred配置中添加一个标志时,应用程序在启动过程中会抛出错误:

org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration 中方法 entityManagerFactory 的参数 0 需要单个 bean,但找到了 2 个: - [ ] - applicationTaskExecutor:由类路径资源中的方法 'applicationTaskExecutor' 定义 [org/springframework/ boot/autoconfigure/task/TaskExecutionAutoConfiguration.class] - taskScheduler:由类路径资源 [org/springframework/boot/autoconfigure/task/TaskSchedulingAutoConfiguration.class] 中的方法 'taskScheduler' 定义

看起来 Spring 很难找到唯一的AsyncTaskExecutorbean,但两个 bean 都来自自动配置。为了使它起作用,我排除了它,TaskExecutionAutoConfiguration因为现在我没有使用它,但我不太喜欢这种方法:

@SpringBootApplication(exclude = {TaskExecutionAutoConfiguration.class})
@EnableScheduling
class MyApp {}

任何想法如何正确修复它?在我看来,这就像弹簧靴中的一个错误。

标签: javaspringhibernatespring-boot

解决方案


推荐阅读