【发布时间】:2021-09-03 22:24:01
【问题描述】:
我在 Spring Batch 应用程序中为 HibernateTransactionManager 创建 bean 时遇到问题。
应用程序无法为 HibernateTransactionManager 的 transactionManager 创建 bean,因为它已由 SimpleBatchConfiguration 类在启用 @EnableBatchProcessing 注释时创建。
经过进一步分析,我发现SimpleBatchConfiguration 类创建了一个PlatformTransactionManager 类型的transactionManager bean。这个 PlatformTransactionManager 类扩展了 TransactionManager。
同时尝试为 HibernateTransactionManager 创建 transactionManager bean(这也扩展了 TransactionManager 类),应用程序无法开始说
没有为 org.springframework.transaction.TransactionManager 找到符合条件的 bean。期待一个但发现两个:transactionManager,transactionManagerBean。
下面是 transactionManagerBean 的 bean 定义。
<bean id="transactionManagerBean" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="hibernateSessionFactory"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManagerBean"/>
我正在使用: 春季批次:4.2.7-RELEASE 春季启动:2.3.11-RELEASE 休眠:5.4.31-决赛 Spring-cloud-starter:2.2.5-RELEASE
谁能帮忙。
【问题讨论】:
标签: java spring-boot hibernate spring-batch spring-cloud