Spring TransactionManager与BoneCP连接池的集成

时间:2011-05-19 12:11:11

标签: datasource spring-transactions bonecp

我正在使用BoneCP连接池机制,我想使用Spring框架的支持来管理我的事务。我找到了关于Spring Transaction Management的示例,我尝试应用此示例。我从连接池中获取了一个DataSource实例,并将此数据源提供给创建的DataSourceTransactionManager,如下所示。

DataSource dataSource = new BoneCPDataSource(getConnectionPool().getConfig());
DataSourceTransactionManager transactionManager = new DataSourceTransactionManager();
transactionManager.setDataSource(dataSource);

但是当我测试它时,我看到事务管理器在提交操作之前已将数据写入存储。

是否可以在创建事务管理器之前创建新数据源?或者你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我找到了问题的原因。我正在使用SDB RDF storage component。它与SDB的add triple方法的实现有关。我发现它直接调用当前SQL连接的commit方法。将DataSourceTransactionManager与BoneCP连接池集成没有问题。