как подготовить транзакцию для нескольких запросов - PullRequest
0 голосов
/ 30 августа 2011

мы можем распространить транзакцию для нескольких запросов.например, при онлайн-покупках.

пользователь выбирает позиции и

шаг 1: после выбора товаров, когда он нажимает кнопку, следует искать товары в таблице склада на наличие необходимого количества или нет,после поиска будет отображена таблица товаров с доступностью.

шаг 2: пользователь кликает, после чего доступные товары вычитаются из таблицы склада, вычисляет итоги и отображает таблицу заказов.

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

Я хочу, чтобы все эти три шага выполнялись за одну транзакцию.Возможно ли это весной в управлении транзакциями.

Ответы [ 2 ]

1 голос
/ 30 августа 2011

Теоретически это возможно, но было бы очень плохой идеей.Причина плохой идеи в том, что пользователь может, например, пойти на ланч до завершения транзакции, и у вас все это время будут заблокированы объекты базы данных, что в худшем случае не позволит вашей системе функционировать.

0 голосов
/ 31 августа 2011

Да, на самом деле это всего лишь один процесс, распределенный по трем шагам, но транзакция не должна начинаться до тех пор, пока пользователь не совершит покупку. Если пользователь прерывает процесс в середине (например, покидает непустую корзину для покупок), никакая транзакция DB или CC не должна была быть начата. Выполните передачу только в самом конце процесса, и в этот момент одновременно выполняйте обработку как БД, так и СС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...