java - 我们可以使用普通的jdbc连接来进行Spring事务管理吗

标签 java spring jdbc spring-jdbc connection-pool

我的项目中有普通的 jdbc 连接池并使用 ejb 进行事务。现在我想把事务管理改成Spring事务管理 但是,我不想为此创建单独的数据源,我想使用相同的普通连接池。

可以吗?

下面是我的事务 spring bean(数据源为空,因为我不知道如何从普通 jdbc 连接池设置它)

@Bean(name = "transactionManager")
    public DataSourceTransactionManager getTransactionManager() {
        DataSourceTransactionManager txManager = new DataSourceTransactionManager();

        // Get the connection from plain connection pool and set it in datasource

        return txManager;
    }

最佳答案

它是 Spring 工厂控制下的 Bean,因此您可以注入(inject)它。

试试这个:

@Bean(name = "transactionManager")
public DataSourceTransactionManager getTransactionManager(@Qualifier("dataSource") DataSource dataSource) {
    return new DataSourceTransactionManager(dataSource);
}

关于java - 我们可以使用普通的jdbc连接来进行Spring事务管理吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49406595/

相关文章:

java - 有效字符串的长度返回 0

java - 在应用程序上下文中添加 applicationContext-dao.xml 和 applicationContext-service.xml 背后的原因是什么

java - 用于自定义 ObjectMapper 的 Jax-rs ContextResolver

java - 已请求结果集

java - 使用 JBoss 和 Active Directory 获取角色中的用户列表

java - 如何在 java 中将数字转换为印度编号格式?

java - 如何在 Long 类型属性的 Sql 数据实现中传递 NULL 值?

java - 使用java合并两个ms access数据库

java - 在游戏中声明测试依赖!

java - 在 Spring Boot Data REST 中进行实体验证后运行 @HandleBeforeCreate