Интеграция Spring TransactionManager с пулом соединений BoneCP

Я использую механизм пула соединений BoneCP и хочу управлять своими транзакциями, используя поддержку среды Spring. Я нашел пример управления транзакциями Spring И я попытался применить этот пример. Я получил экземпляр DataSource из своего пула соединений и передал этот источник данных созданному DataSourceTransactionManager, как показано ниже.

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

Но когда я протестировал его, я увидел, что менеджер транзакций записал данные в хранилище перед операцией фиксации.

Может ли это быть связано с созданием нового источника данных до создания менеджера транзакций? или у вас есть идеи?


person gul.cabuk    schedule 19.05.2011    source источник


Ответы (1)


Я нашел причину проблемы. Я использовал компонент хранилища SDB RDF. Это связано с реализацией в SDB тройного метода добавления. Я обнаружил, что он напрямую вызывает метод фиксации текущего соединения SQL. Нет проблем с интеграцией DataSourceTransactionManager с пулом соединений BoneCP.

person gul.cabuk    schedule 20.05.2011