Что именно означает «с транзакцией, вторая попытка терпит неудачу атомарно»? - PullRequest
0 голосов
/ 15 июля 2011

Я использую GAE и обнаружил документацию о том, как использовать транзакции для обработки двух потоков, пытающихся создать объект с одним и тем же ключом. К сожалению, в документации неясно, как именно определить ситуацию. Там написано, что «вторая попытка терпит неудачу атомарно», но как? Выдает ли исключение, и если да, то какое?

1 Ответ

1 голос
/ 05 ноября 2011

поднимает ConcurrentModificationException. из вашей ссылки на документы сразу после первого блока кода:

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

...