Manas B
Manas B

Reputation: 5

Can we use plain jdbc connection for spring transaction management

I have plain jdbc connection pool in my project and using ejb for transaction. Now I want to change the transaction management to Spring transaction management but, I don't want to create separate datasource for this, I want to use same plain connection pool.

Is it possible to do it?

Below is my spring bean for transaction(datasource is blank as I don't know how to set it from plain jdbc connection pool)

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

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

        return txManager;
    }

Upvotes: 0

Views: 333

Answers (1)

duffymo
duffymo

Reputation: 308813

It's a Bean under the Spring factory's control, so you can inject it.

Try this:

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

Upvotes: 1

Related Questions