У меня проблема с поврежденной структурой данных из-за одновременного доступа. Я пытаюсь исключить возможные причины, но я не уверен, как работает Spring TransactionTemplate
.
Есть несколько потоков, передающих независимые списки конструктору CallbackHandler
. Это CallbackHandler
затем передается методу выполнения TransactionTemplate
. Синхронизированных блоков нигде нет.
Доступ к списку осуществляется в CallbackHandler
и из вызывающего потока до и после завершения метода execute. Насколько я понимаю, вызов выполнить НЕ начать новый Thread
. Поэтому это должно быть безопасно.
Каждый поток создает свой независимый список, и CallbackHandler
, только TransactionTemplate
одинаков для всех.
Или Spring создает какой-то новый поток в какой-то момент?