0

我的项目中有普通的 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;
    }
4

1 回答 1

1

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

尝试这个:

@Bean(name = "transactionManager")
public DataSourceTransactionManager getTransactionManager(@Qualifier("dataSource") DataSource dataSource) {
    return new DataSourceTransactionManager(dataSource);
}
于 2018-03-21T12:51:51.797 回答