Spring TransactionTemplate создает потоки? - PullRequest
2 голосов
/ 04 октября 2011

У меня проблема с поврежденной структурой данных из-за одновременного доступа. Я пытаюсь исключить возможные причины, но я не уверен, как работает Spring TransactionTemplate.

Есть несколько потоков, передающих независимые списки конструктору CallbackHandler. Это CallbackHandler затем передается методу выполнения TransactionTemplate. Синхронизированных блоков нигде нет.

Доступ к списку осуществляется в CallbackHandler и из вызывающего потока до и после завершения метода execute. Насколько я понимаю, вызов выполнить НЕ начать новый Thread. Поэтому это должно быть безопасно.

Каждый поток создает свой независимый список, и CallbackHandler, только TransactionTemplate одинаков для всех.

Или Spring создает какой-то новый поток в какой-то момент?

1 Ответ

4 голосов
/ 05 октября 2011

Вы можете просмотреть исходный код для TransactionTemplate здесь .

Как видите, новые темы не создаются.

Вы уверены, что ваша безопасность потокаошибка не лежит в другой области кода?Возможно, было бы полезно увидеть некоторые примеры того, что вы делаете.

...