Я использовал @Transactional
на одном из моих классов и использовал его в многопоточной среде? Насколько я понимаю, он будет выполнен в локальной среде потока и является потокобезопасным.Является ли пружина @transactional thread безопасной?
Теперь мой вариант использования заключается в том, что он снимает сумму со счета? может ли быть случай перечеркивания, если считываемая сумма счета грязная? Я не уверен, что было бы безопасно быть таким, каким оно есть сейчас, или мне нужно синхронизировать свои функции.
Любые советы будут очень апробированы.
Spring использует базовую реализацию базы данных для транзакций, поэтому они являются потокобезопасными, поскольку базовая база данных может быть. – sturcotte06
Изоляция транзакций - это другая проблема безопасности потоков. –
Натан прав. Посмотрите в механизмах блокировки, предоставляемых вашей базой данных, и ваш DB поддерживает Java API (JPA, JDBC и т. Д.). – davidxxx