Я знаю, что транзакции могут быть использованы для достижения атомарности.
Например, если methodOne()
methodTwo()
methodThree()
объединяются в одну транзакцию, если какой-либо из методов дает сбой, вся операция откатывается. Откат приведет к откату на уровне базы данных, и в результате база данных будет приведена в состояние, в котором она была до транзакции.
Но что, если методы внесли изменения в переменные состояния или статические переменные или записали некоторые файлы в файловой системе? Насколько я понимаю, «откат» не применяется к таким изменениям, не относящимся к базе данных, и что эти изменения не отменяются. Правильно ли я понимаю?