diff --git a/src/main/java/com/supervision/config/TransactionManagerConfig.java b/src/main/java/com/supervision/config/TransactionManagerConfig.java new file mode 100644 index 0000000..8274b79 --- /dev/null +++ b/src/main/java/com/supervision/config/TransactionManagerConfig.java @@ -0,0 +1,30 @@ +package com.supervision.config; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +import javax.sql.DataSource; + +@Configuration +@EnableTransactionManagement +public class TransactionManagerConfig { + + /** + * 配置事务管理器 + * 由于项目中使用了neo4j数据库,导致jdbc的事务管理器未自动注册,所以需要手动配置 + * 使用时需要指定事务管理器名称 + * e.g. @Transactional(transactionManager = "dataSourceTransactionManager") + * @param dataSource + * @return + */ + @Bean("dataSourceTransactionManager") + public DataSourceTransactionManager transactionManager(DataSource dataSource) { + DataSourceTransactionManager transactionManager = new DataSourceTransactionManager(); + transactionManager.setDataSource(dataSource); + //可以设置其他事务管理器属性 + return transactionManager; + } +} \ No newline at end of file